From 3e80fa3dbc943de9b784fedc202ba38cf238f46d Mon Sep 17 00:00:00 2001 From: David Parks Date: Mon, 2 Nov 2009 19:55:37 +0000 Subject: Sync up with render-pipeline-7 ignore-dead-branch --- indra/cmake/00-Common.cmake | 5 +++-- indra/cmake/LLPrimitive.cmake | 22 +++++++++++++++++++++- 2 files changed, 24 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 173e650961..3bd10ea9ee 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -49,11 +49,12 @@ if (WINDOWS) add_definitions( /DLL_WINDOWS=1 + /DDOM_DYNAMIC /DUNICODE /D_UNICODE /GS /TP - /W3 + /W2 /c /Zc:forScope /nologo @@ -195,7 +196,7 @@ endif (DARWIN) if (LINUX OR DARWIN) - set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs -Wno-non-virtual-dtor -Woverloaded-virtual") + set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs -Wno-non-virtual-dtor") if (NOT GCC_DISABLE_FATAL_WARNINGS) set(GCC_WARNINGS "${GCC_WARNINGS} -Werror") diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index d397b78f1c..9f8d99a0bf 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -1,7 +1,27 @@ # -*- cmake -*- +# these should be moved to their own cmake file +include(Prebuilt) +use_prebuilt_binary(colladadom) +use_prebuilt_binary(pcre) +use_prebuilt_binary(libxml) + set(LLPRIMITIVE_INCLUDE_DIRS ${LIBS_OPEN_DIR}/llprimitive ) -set(LLPRIMITIVE_LIBRARIES llprimitive) +if (WINDOWS) + set(LLPRIMITIVE_LIBRARIES + llprimitive + libcollada14dom21 + ) +else (WINDOWS) + set(LLPRIMITIVE_LIBRARIES + llprimitive + collada14dom + xml2 + pcrecpp + pcre + ) +endif (WINDOWS) + -- cgit v1.3 From c3bb2669ce30681449f7fe68f0822878565c273f Mon Sep 17 00:00:00 2001 From: "palmer@sansome-guest-196.lindenlab.com" Date: Tue, 3 Nov 2009 17:43:47 -0800 Subject: fix to make build run on mac --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index e7afe0ecba..5c0e639947 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -208,7 +208,7 @@ if (LINUX OR DARWIN) set(GCC_WARNINGS "${GCC_WARNINGS} -Werror") endif (NOT GCC_DISABLE_FATAL_WARNINGS) - set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor -Woverloaded-virtual") + set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor") set(CMAKE_C_FLAGS "${GCC_WARNINGS} ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "${GCC_CXX_WARNINGS} ${CMAKE_CXX_FLAGS}") -- cgit v1.3 From c504c40a754a79baf0e4b1d1c10ca44197d577df Mon Sep 17 00:00:00 2001 From: Palmer Date: Fri, 29 Jan 2010 15:04:14 -0800 Subject: Added glod.txt and libraries no longer unzipped into newview --- indra/cmake/Copy3rdPartyLibs.cmake | 4 ++++ indra/newview/viewer_manifest.py | 11 +++++------ install.xml | 8 ++++---- 3 files changed, 13 insertions(+), 10 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index faf9da8b14..9a54c7a2e8 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -38,6 +38,8 @@ if(WINDOWS) libapr-1.dll libaprutil-1.dll libapriconv-1.dll + libcollada14dom21.dll + glod.dll ) # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables @@ -48,6 +50,8 @@ if(WINDOWS) libapr-1.dll libaprutil-1.dll libapriconv-1.dll + libcollada14dom21.dll + glod.dll ) if(USE_GOOGLE_PERFTOOLS) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 37c2102e8f..595afd86e0 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -268,12 +268,17 @@ class WindowsManifest(ViewerManifest): self.path('libapr-1.dll') self.path('libaprutil-1.dll') self.path('libapriconv-1.dll') + except RuntimeError, err: print err.message print "Skipping llcommon.dll (assuming llcommon was linked statically)" self.disable_manifest_check() + # Mesh 3rd party libs needed for auto LOD and collada reading + self.path("libcollada14dom21.dll") + self.path("glod.dll") + # For textures if self.args['configuration'].lower() == 'debug': self.path("openjpegd.dll") @@ -320,12 +325,6 @@ class WindowsManifest(ViewerManifest): # For using FMOD for sound... DJS self.path("fmod.dll") - # For automatic level of detail generation in mesh importer - self.path("glod.dll") - - # For reading collada files - self.path("libcollada14dom21.dll") - self.enable_no_crt_manifest_check() # Media plugins - QuickTime diff --git a/install.xml b/install.xml index 91276ca498..c4c2904471 100644 --- a/install.xml +++ b/install.xml @@ -70,9 +70,9 @@ windows md5sum - b97aa644a548310ca3c916518bb07b7e + 39fae44d406aa56a0b3d00f5433bbf15 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GLOD-windows-20090915.tar.bz2 + http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GLOD-1.0pre4-windows-20100129.tar.bz2 @@ -280,9 +280,9 @@ windows md5sum - c239ce23ed3f0dbbe58a1ddba05aee0b + 6c2267ba2735bb5bc6229bc4366fce86 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/colladadom-2.1.1-windows-20091103.tar.bz2 + http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/colladadom-2.1.1-windows-20100129.tar.bz2 -- cgit v1.3 From f5f20a7851ddfa5f2b5d24c5a392acf9c0a745b5 Mon Sep 17 00:00:00 2001 From: Palmer Date: Fri, 29 Jan 2010 15:06:55 -0800 Subject: got rid of tab --- indra/cmake/Copy3rdPartyLibs.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 9a54c7a2e8..c9dc301b8b 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -19,7 +19,7 @@ if(WINDOWS) set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-win32") set(vivox_files SLVoice.exe - libsndfile-1.dll + libsndfile-1.dll vivoxplatform.dll vivoxsdk.dll ortp.dll -- cgit v1.3 From bc7f2e41fd268895774f9ddffd45be318662dcaa Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 8 Feb 2010 20:03:02 -0600 Subject: Switching to 10.5 SDK --- indra/cmake/Variables.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index db0b44eb8f..9b1f7024bf 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -79,7 +79,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # NOTE: wont have a distributable build unless you add this on the configure line with: # -DCMAKE_OSX_ARCHITECTURES:STRING='i386;ppc' #set(CMAKE_OSX_ARCHITECTURES i386;ppc) - set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) + set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) if (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") set(ARCH universal) else (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") -- cgit v1.3 From 0d65b34649bcbd2201f7c85949328a2e6423ae6b Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 8 Feb 2010 20:03:02 -0600 Subject: Switching to 10.5 SDK --- indra/cmake/Variables.cmake | 31 ++++--------------------------- 1 file changed, 4 insertions(+), 27 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index bfaf3f4f26..9b1f7024bf 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -75,33 +75,11 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(DARWIN 1) - - # NOTE: If specifying a different SDK with CMAKE_OSX_SYSROOT at configure - # time you should also specify CMAKE_OSX_DEPLOYMENT_TARGET explicitly, - # otherwise CMAKE_OSX_SYSROOT will be overridden here. We can't just check - # for it being unset, as it gets set to the system default :( - - # Default to building against the 10.4 SDK if no deployment target is - # specified. - if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) - # NOTE: setting -isysroot is NOT adequate: http://lists.apple.com/archives/Xcode-users/2007/Oct/msg00696.html - # see http://public.kitware.com/Bug/view.php?id=9959 + poppy - set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.4) - endif (NOT CMAKE_OSX_DEPLOYMENT_TARGET) - - # GCC 4.2 is incompatible with the MacOSX 10.4 SDK - if (${CMAKE_OSX_SYSROOT} MATCHES "10.4u") - set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "4.0") - endif (${CMAKE_OSX_SYSROOT} MATCHES "10.4u") - - # NOTE: To attempt an i386/PPC Universal build, add this on the configure line: + # set this dynamically from the build system now - + # NOTE: wont have a distributable build unless you add this on the configure line with: # -DCMAKE_OSX_ARCHITECTURES:STRING='i386;ppc' - # Build only for i386 by default, system default on MacOSX 10.6 is x86_64 - if (NOT CMAKE_OSX_ARCHITECTURES) - set(CMAKE_OSX_ARCHITECTURES i386) - endif (NOT CMAKE_OSX_ARCHITECTURES) - + #set(CMAKE_OSX_ARCHITECTURES i386;ppc) + set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) if (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") set(ARCH universal) else (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") @@ -111,7 +89,6 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(ARCH i386) endif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc") endif (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") - set(LL_ARCH ${ARCH}_darwin) set(LL_ARCH_DIR universal-darwin) set(WORD_SIZE 32) -- cgit v1.3 From de88d6ced487fd55fa6f6bb860849979f031a363 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Wed, 17 Feb 2010 11:29:16 -0600 Subject: Switched program database on windows to edit and continue for non-release builds. Adding a debug watch to LLCurlRequest to avoid invalidating iterator on processing posts. Mesh bulk uploading rewrite work in progress. 404 icons for mesh assets. --- indra/cmake/00-Common.cmake | 6 +++--- indra/llmessage/llcurl.cpp | 9 +++++++++ indra/llmessage/llcurl.h | 3 ++- indra/newview/llvovolume.cpp | 15 ++++++++++++--- 4 files changed, 26 insertions(+), 7 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 49a1ec7f2c..2219311fc7 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -35,13 +35,13 @@ if (WINDOWS) # Don't build DLLs. set(BUILD_SHARED_LIBS OFF) - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP" + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /ZI /MDd /MP" CACHE STRING "C++ compiler debug options" FORCE) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP" + "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /ZI /MD /MP" CACHE STRING "C++ compiler release-with-debug options" FORCE) set(CMAKE_CXX_FLAGS_RELEASE - "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP" + "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /MD /MP" CACHE STRING "C++ compiler release options" FORCE) set(CMAKE_CXX_STANDARD_LIBRARIES "") diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp index b93b94cd25..5212ba1eca 100644 --- a/indra/llmessage/llcurl.cpp +++ b/indra/llmessage/llcurl.cpp @@ -711,6 +711,7 @@ LLCurlRequest::LLCurlRequest() : mActiveRequestCount(0) { mThreadID = LLThread::currentID(); + mProcessing = FALSE; } LLCurlRequest::~LLCurlRequest() @@ -745,6 +746,11 @@ LLCurl::Easy* LLCurlRequest::allocEasy() bool LLCurlRequest::addEasy(LLCurl::Easy* easy) { llassert_always(mActiveMulti); + + if (mProcessing) + { + llerrs << "Posting to a LLCurlRequest instance from within a responder is not allowed (causes DNS timeouts)." << llendl; + } bool res = mActiveMulti->addEasy(easy); return res; } @@ -835,6 +841,8 @@ S32 LLCurlRequest::process() { llassert_always(mThreadID == LLThread::currentID()); S32 res = 0; + + mProcessing = TRUE; for (curlmulti_set_t::iterator iter = mMultiSet.begin(); iter != mMultiSet.end(); ) { @@ -848,6 +856,7 @@ S32 LLCurlRequest::process() delete multi; } } + mProcessing = FALSE; return res; } diff --git a/indra/llmessage/llcurl.h b/indra/llmessage/llcurl.h index 4302c19113..5367643289 100644 --- a/indra/llmessage/llcurl.h +++ b/indra/llmessage/llcurl.h @@ -215,7 +215,7 @@ public: bool getByteRange(const std::string& url, const headers_t& headers, S32 offset, S32 length, LLCurl::ResponderPtr responder); bool post(const std::string& url, const headers_t& headers, const LLSD& data, LLCurl::ResponderPtr responder); bool post(const std::string& url, const headers_t& headers, const std::string& data, LLCurl::ResponderPtr responder); - + S32 process(); S32 getQueued(); @@ -229,6 +229,7 @@ private: curlmulti_set_t mMultiSet; LLCurl::Multi* mActiveMulti; S32 mActiveRequestCount; + BOOL mProcessing; U32 mThreadID; // debug }; diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index fb28b78daf..cb67890515 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -920,6 +920,8 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams ¶ms, const S32 detail, bool S32 lod = mLOD; + BOOL is404 = FALSE; + if (isSculpted()) { // if it's a mesh @@ -932,6 +934,11 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams ¶ms, const S32 detail, bool volume_params.setType(LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE); lod = gMeshRepo.getActualMeshLOD(volume_params, lod); + if (lod == -1) + { + is404 = TRUE; + lod = 0; + } } } @@ -962,7 +969,10 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams ¶ms, const S32 detail, bool } } - + if (is404) + { + setIcon(LLViewerTextureManager::getFetchedTextureFromFile("icons/Inv_Mesh.png", TRUE, LLViewerTexture::BOOST_UI)); + } if ((LLPrimitive::setVolume(volume_params, lod, (mVolumeImpl && mVolumeImpl->isVolumeUnique()))) || mSculptChanged) { @@ -995,10 +1005,9 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams ¶ms, const S32 detail, bool } else // otherwise is sculptie { - if (mSculptTexture.notNull()) { - sculpt(); + sculpt(); } } } -- cgit v1.3 From 74621ff8a8a141d50a3c92430afbe53a9e00edb5 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Wed, 17 Feb 2010 15:50:50 -0600 Subject: Post-review cleanup. --- indra/cmake/00-Common.cmake | 2 +- indra/llmessage/llcurl.cpp | 1 - indra/llmessage/llcurl.h | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 2219311fc7..113e21a715 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -41,7 +41,7 @@ if (WINDOWS) "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /ZI /MD /MP" CACHE STRING "C++ compiler release-with-debug options" FORCE) set(CMAKE_CXX_FLAGS_RELEASE - "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /MD /MP" + "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP" CACHE STRING "C++ compiler release options" FORCE) set(CMAKE_CXX_STANDARD_LIBRARIES "") diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp index 5212ba1eca..0c919011ac 100644 --- a/indra/llmessage/llcurl.cpp +++ b/indra/llmessage/llcurl.cpp @@ -55,7 +55,6 @@ #include "llstl.h" #include "llsdserialize.h" #include "llthread.h" -#include "llvfile.h" ////////////////////////////////////////////////////////////////////////////// /* diff --git a/indra/llmessage/llcurl.h b/indra/llmessage/llcurl.h index 5367643289..6ec0a5d8a7 100644 --- a/indra/llmessage/llcurl.h +++ b/indra/llmessage/llcurl.h @@ -44,7 +44,6 @@ #include #include // TODO: remove dependency -#include "llassettype.h" #include "llbuffer.h" #include "lliopipe.h" #include "llsd.h" -- cgit v1.3 From d6acc0f0c69195c2ac51d12145a180a42f8c69bb Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Fri, 23 Apr 2010 17:40:10 +0100 Subject: Backed out changeset 211aeed4e8f4 backing out "Switching to 10.5 SDK" --- indra/cmake/Variables.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 9b1f7024bf..db0b44eb8f 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -79,7 +79,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # NOTE: wont have a distributable build unless you add this on the configure line with: # -DCMAKE_OSX_ARCHITECTURES:STRING='i386;ppc' #set(CMAKE_OSX_ARCHITECTURES i386;ppc) - set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) + set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) if (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") set(ARCH universal) else (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc") -- cgit v1.3 From 809b6879e1d89ff3bc565f3144e4cb625ccdd185 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 26 Apr 2010 17:35:52 -0500 Subject: Use 10.5 sdk --- indra/cmake/Variables.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index bfaf3f4f26..f181e5b6fd 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -81,13 +81,13 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # otherwise CMAKE_OSX_SYSROOT will be overridden here. We can't just check # for it being unset, as it gets set to the system default :( - # Default to building against the 10.4 SDK if no deployment target is + # Default to building against the 10.5 SDK if no deployment target is # specified. if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) # NOTE: setting -isysroot is NOT adequate: http://lists.apple.com/archives/Xcode-users/2007/Oct/msg00696.html # see http://public.kitware.com/Bug/view.php?id=9959 + poppy - set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.4) + set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5) endif (NOT CMAKE_OSX_DEPLOYMENT_TARGET) # GCC 4.2 is incompatible with the MacOSX 10.4 SDK -- cgit v1.3 From 45396901731dc7ecb8ade9e585a43e811f4e4f05 Mon Sep 17 00:00:00 2001 From: "Karl Stiefvater (qarl)" Date: Fri, 7 May 2010 17:43:12 -0500 Subject: revert mac build to 10.4u sdk. remove FBO code from llrendertarget.cpp with #ifdefs. --- indra/cmake/Variables.cmake | 6 +++--- indra/llrender/llrendertarget.cpp | 11 +++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index f181e5b6fd..6b9fcbf509 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -81,13 +81,13 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # otherwise CMAKE_OSX_SYSROOT will be overridden here. We can't just check # for it being unset, as it gets set to the system default :( - # Default to building against the 10.5 SDK if no deployment target is + # Default to building against the 10.4u SDK if no deployment target is # specified. if (NOT CMAKE_OSX_DEPLOYMENT_TARGET) # NOTE: setting -isysroot is NOT adequate: http://lists.apple.com/archives/Xcode-users/2007/Oct/msg00696.html # see http://public.kitware.com/Bug/view.php?id=9959 + poppy - set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk) - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5) + set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.4u) endif (NOT CMAKE_OSX_DEPLOYMENT_TARGET) # GCC 4.2 is incompatible with the MacOSX 10.4 SDK diff --git a/indra/llrender/llrendertarget.cpp b/indra/llrender/llrendertarget.cpp index 3f2558f1f5..d9520b3bf6 100644 --- a/indra/llrender/llrendertarget.cpp +++ b/indra/llrender/llrendertarget.cpp @@ -390,6 +390,8 @@ void LLRenderTarget::flush(BOOL fetch_depth) } else { +#if !LL_DARWIN + stop_glerror(); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); @@ -433,6 +435,7 @@ void LLRenderTarget::flush(BOOL fetch_depth) } } } +#endif glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); } @@ -441,6 +444,7 @@ void LLRenderTarget::flush(BOOL fetch_depth) void LLRenderTarget::copyContents(LLRenderTarget& source, S32 srcX0, S32 srcY0, S32 srcX1, S32 srcY1, S32 dstX0, S32 dstY0, S32 dstX1, S32 dstY1, U32 mask, U32 filter) { +#if !LL_DARWIN gGL.flush(); if (!source.mFBO || !mFBO) { @@ -479,12 +483,14 @@ void LLRenderTarget::copyContents(LLRenderTarget& source, S32 srcX0, S32 srcY0, stop_glerror(); } } +#endif } //static void LLRenderTarget::copyContentsToFramebuffer(LLRenderTarget& source, S32 srcX0, S32 srcY0, S32 srcX1, S32 srcY1, S32 dstX0, S32 dstY0, S32 dstX1, S32 dstY1, U32 mask, U32 filter) { +#if !LL_DARWIN if (!source.mFBO) { llerrs << "Cannot copy framebuffer contents for non FBO render targets." << llendl; @@ -501,6 +507,7 @@ void LLRenderTarget::copyContentsToFramebuffer(LLRenderTarget& source, S32 srcX0 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); stop_glerror(); } +#endif } BOOL LLRenderTarget::isComplete() const @@ -645,6 +652,7 @@ void LLMultisampleBuffer::allocate(U32 resx, U32 resy, U32 color_fmt, BOOL depth void LLMultisampleBuffer::addColorAttachment(U32 color_fmt) { +#if !LL_DARWIN if (color_fmt == 0) { return; @@ -685,10 +693,12 @@ void LLMultisampleBuffer::addColorAttachment(U32 color_fmt) } mTex.push_back(tex); +#endif } void LLMultisampleBuffer::allocateDepth() { +#if !LL_DARWIN glGenRenderbuffersEXT(1, (GLuint* ) &mDepth); glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, mDepth); if (mStencil) @@ -699,5 +709,6 @@ void LLMultisampleBuffer::allocateDepth() { glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, mSamples, GL_DEPTH_COMPONENT16_ARB, mResX, mResY); } +#endif } -- cgit v1.3 From 761b346e8d6fcb9c052b5cfabc9a6be43b5775fe Mon Sep 17 00:00:00 2001 From: Palmer Truelson Date: Fri, 7 May 2010 16:32:29 -0700 Subject: Turning off universal builds --- indra/cmake/00-Common.cmake | 2 +- indra/cmake/Variables.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 113e21a715..ef83f43635 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -208,7 +208,7 @@ if (LINUX OR DARWIN) set(GCC_WARNINGS "${GCC_WARNINGS} -Werror") endif (NOT GCC_DISABLE_FATAL_WARNINGS) - set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor") + set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor -Woverloaded-virtual") set(CMAKE_C_FLAGS "${GCC_WARNINGS} ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "${GCC_CXX_WARNINGS} ${CMAKE_CXX_FLAGS}") diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 6b9fcbf509..28feb523ea 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -87,7 +87,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # NOTE: setting -isysroot is NOT adequate: http://lists.apple.com/archives/Xcode-users/2007/Oct/msg00696.html # see http://public.kitware.com/Bug/view.php?id=9959 + poppy set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.4u) + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.4) endif (NOT CMAKE_OSX_DEPLOYMENT_TARGET) # GCC 4.2 is incompatible with the MacOSX 10.4 SDK -- cgit v1.3 From f6c03a46731ad0af301ae2c8505050d9e514a7d4 Mon Sep 17 00:00:00 2001 From: "Karl Stiefvater (qarl)" Date: Mon, 10 May 2010 13:01:18 -0500 Subject: turn off -Woverloaded-virtual - incompatible with colladadom --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index ef83f43635..113e21a715 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -208,7 +208,7 @@ if (LINUX OR DARWIN) set(GCC_WARNINGS "${GCC_WARNINGS} -Werror") endif (NOT GCC_DISABLE_FATAL_WARNINGS) - set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor -Woverloaded-virtual") + set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor") set(CMAKE_C_FLAGS "${GCC_WARNINGS} ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "${GCC_CXX_WARNINGS} ${CMAKE_CXX_FLAGS}") -- cgit v1.3 From cd13bc0e044d5014a0d7e131ae9d47924e376997 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Fri, 21 May 2010 11:52:00 +0100 Subject: if we're serious about the SSE thing then we should add these compiler flags for linux. though it's not quite enough, still. --- indra/cmake/00-Common.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 113e21a715..2cc8fa5e5f 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -169,6 +169,7 @@ if (LINUX) add_definitions(-fvisibility=hidden) # don't catch SIGCHLD in our base application class for the viewer - some of our 3rd party libs may need their *own* SIGCHLD handler to work. Sigh! The viewer doesn't need to catch SIGCHLD anyway. add_definitions(-DLL_IGNORE_SIGCHLD) + add_definitions(-march=pentium3 -mfpmath=sse -ftree-vectorize) if (NOT STANDALONE) # this stops us requiring a really recent glibc at runtime add_definitions(-fno-stack-protector) -- cgit v1.3 From 7f5cc148bf0c2b8c77205ae5cb6db9841c0654d9 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Tue, 25 May 2010 14:00:59 +0100 Subject: Autovectorization crashes GCC 3.1. It's not very helpful anyway. Turn it off. --- indra/cmake/00-Common.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 2cc8fa5e5f..802db82091 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -169,7 +169,8 @@ if (LINUX) add_definitions(-fvisibility=hidden) # don't catch SIGCHLD in our base application class for the viewer - some of our 3rd party libs may need their *own* SIGCHLD handler to work. Sigh! The viewer doesn't need to catch SIGCHLD anyway. add_definitions(-DLL_IGNORE_SIGCHLD) - add_definitions(-march=pentium3 -mfpmath=sse -ftree-vectorize) + add_definitions(-march=pentium3 -mfpmath=sse) + #add_definitions(-ftree-vectorize) # THIS CRASHES GCC 3.1-3.2 if (NOT STANDALONE) # this stops us requiring a really recent glibc at runtime add_definitions(-fno-stack-protector) -- cgit v1.3 From 673eef187777f4283aa2f90027f1b2ee3dadebe0 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Thu, 27 May 2010 15:14:20 +0100 Subject: we now require SSE_2_ so bump up the architecture for gcc. --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 802db82091..25cc05332b 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -169,7 +169,7 @@ if (LINUX) add_definitions(-fvisibility=hidden) # don't catch SIGCHLD in our base application class for the viewer - some of our 3rd party libs may need their *own* SIGCHLD handler to work. Sigh! The viewer doesn't need to catch SIGCHLD anyway. add_definitions(-DLL_IGNORE_SIGCHLD) - add_definitions(-march=pentium3 -mfpmath=sse) + add_definitions(-march=pentium4 -mfpmath=sse) #add_definitions(-ftree-vectorize) # THIS CRASHES GCC 3.1-3.2 if (NOT STANDALONE) # this stops us requiring a really recent glibc at runtime -- cgit v1.3 From 6e37ec08f678451a526f34218cb070d117cdf60a Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 14 Jun 2010 23:13:10 -0500 Subject: Builds with LLConvexDecompInter as a static lib. --- indra/cmake/CMakeLists.txt | 2 ++ indra/llcommon/llassettype.h | 2 -- indra/llinventory/llinventorytype.h | 3 --- indra/llmath/llvolume.cpp | 8 ++++---- indra/llmath/llvolume.h | 4 ++-- indra/newview/CMakeLists.txt | 3 +++ indra/newview/llassetuploadresponders.h | 1 + indra/newview/lldrawpoolavatar.h | 1 + indra/newview/llinventorybridge.h | 1 + indra/newview/lltooldraganddrop.cpp | 2 +- indra/newview/lltooldraganddrop.h | 1 + indra/newview/llvovolume.cpp | 2 +- indra/newview/skins/default/xui/en/floater_about.xml | 4 +++- 13 files changed, 20 insertions(+), 14 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 4fc25dcc24..8612c46376 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -34,6 +34,7 @@ set(cmake_SOURCE_FILES FindXmlRpcEpi.cmake FMOD.cmake FreeType.cmake + GLOD.cmake GStreamer010Plugin.cmake GooglePerfTools.cmake JPEG.cmake @@ -41,6 +42,7 @@ set(cmake_SOURCE_FILES LLAudio.cmake LLCharacter.cmake LLCommon.cmake + LLConvexDecompInter.cmake LLCrashLogger.cmake LLDatabase.cmake LLImage.cmake diff --git a/indra/llcommon/llassettype.h b/indra/llcommon/llassettype.h index ebc43134cb..27d35e95ff 100644 --- a/indra/llcommon/llassettype.h +++ b/indra/llcommon/llassettype.h @@ -114,10 +114,8 @@ public: AT_LINK_FOLDER = 25, // Inventory folder link -#if LL_MESH_ENABLED AT_MESH = 49, // Mesh data in our proprietary SLM format -#endif AT_COUNT = 50, diff --git a/indra/llinventory/llinventorytype.h b/indra/llinventory/llinventorytype.h index d2fc67ef64..17ed3df951 100644 --- a/indra/llinventory/llinventorytype.h +++ b/indra/llinventory/llinventorytype.h @@ -67,10 +67,7 @@ public: IT_WEARABLE = 18, IT_ANIMATION = 19, IT_GESTURE = 20, - -#if LL_MESH_ENABLED IT_MESH = 22, -#endif IT_COUNT = 23, IT_NONE = -1 diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index 10cef533b0..53f484fb79 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -5355,9 +5355,9 @@ bool LLVolumeFace::VertexMapData::operator==(const LLVolumeFace::VertexData& rhs getNormal().equal3(rhs.getNormal()); } -bool LLVolumeFace::VertexMapData::ComparePosition::operator()(const LLVector4a& a, const LLVector4a& b) const +bool LLVolumeFace::VertexMapData::ComparePosition::operator()(const LLVector3& a, const LLVector3& b) const { - return a.less3(b); + return a < b; } void LLVolumeFace::optimize(F32 angle_cutoff) @@ -5375,7 +5375,7 @@ void LLVolumeFace::optimize(F32 angle_cutoff) getVertexData(index, cv); BOOL found = FALSE; - VertexMapData::PointMap::iterator point_iter = point_map.find(cv.getPosition()); + VertexMapData::PointMap::iterator point_iter = point_map.find(LLVector3(cv.getPosition().getF32())); if (point_iter != point_map.end()) { //duplicate point might exist for (U32 j = 0; j < point_iter->second.size(); ++j) @@ -5407,7 +5407,7 @@ void LLVolumeFace::optimize(F32 angle_cutoff) } else { - point_map[d.getPosition()].push_back(d); + point_map[LLVector3(d.getPosition().getF32())].push_back(d); } } } diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h index 98db7f31c0..4aef3be973 100644 --- a/indra/llmath/llvolume.h +++ b/indra/llmath/llvolume.h @@ -873,10 +873,10 @@ public: struct ComparePosition { - bool operator()(const LLVector4a& a, const LLVector4a& b) const; + bool operator()(const LLVector3& a, const LLVector3& b) const; }; - typedef std::map, VertexMapData::ComparePosition > PointMap; + typedef std::map, VertexMapData::ComparePosition > PointMap; }; void optimize(F32 angle_cutoff = 2.f); diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index d2ae81180b..9de1d4aca5 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -16,6 +16,7 @@ include(FindOpenGL) include(LLAudio) include(LLCharacter) include(LLCommon) +include(LLConvexDecompInter) include(LLImage) include(LLImageJ2COJ) include(LLInventory) @@ -49,6 +50,7 @@ include_directories( ${LLAUDIO_INCLUDE_DIRS} ${LLCHARACTER_INCLUDE_DIRS} ${LLCOMMON_INCLUDE_DIRS} + ${LLCONVEXDECOMPINTER_INCLUDE_DIRS} ${LLIMAGE_INCLUDE_DIRS} ${LLINVENTORY_INCLUDE_DIRS} ${LLMATH_INCLUDE_DIRS} @@ -1683,6 +1685,7 @@ target_link_libraries(${VIEWER_BINARY_NAME} ${CRYPTO_LIBRARIES} ${LLLOGIN_LIBRARIES} ${GOOGLE_PERFTOOLS_LIBRARIES} + ${LLCONVEXDECOMPINTER_LIBRARIES} ) build_version(viewer) diff --git a/indra/newview/llassetuploadresponders.h b/indra/newview/llassetuploadresponders.h index 9abaccfde0..5890fbbc08 100644 --- a/indra/newview/llassetuploadresponders.h +++ b/indra/newview/llassetuploadresponders.h @@ -34,6 +34,7 @@ #define LL_LLASSETUPLOADRESPONDER_H #include "llhttpclient.h" +#include "llvolume.h" //for LL_MESH_ENABLED // Abstract class for supporting asset upload // via capabilities diff --git a/indra/newview/lldrawpoolavatar.h b/indra/newview/lldrawpoolavatar.h index 46ffc42f04..b01394534b 100644 --- a/indra/newview/lldrawpoolavatar.h +++ b/indra/newview/lldrawpoolavatar.h @@ -34,6 +34,7 @@ #define LL_LLDRAWPOOLAVATAR_H #include "lldrawpool.h" +#include "llvolume.h" // for LL_MESH_ENABLED class LLVOAvatar; class LLGLSLShader; diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 8de7d63173..0e3b5bc3c9 100644 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -40,6 +40,7 @@ #include "llinventoryobserver.h" #include "llviewercontrol.h" #include "llwearable.h" +#include "llvolume.h" //for LL_MESH_ENABLED class LLInventoryPanel; class LLInventoryModel; diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index d679ccd3d8..c4ecba1aa2 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -1037,7 +1037,7 @@ void LLToolDragAndDrop::dropTextureAllFaces(LLViewerObject* hit_obj, hit_obj->sendTEUpdate(); } -#if LL_MESH_EANBLED +#if LL_MESH_ENABLED void LLToolDragAndDrop::dropMesh(LLViewerObject* hit_obj, LLInventoryItem* item, LLToolDragAndDrop::ESource source, diff --git a/indra/newview/lltooldraganddrop.h b/indra/newview/lltooldraganddrop.h index ceeaa8c820..09da4c2955 100644 --- a/indra/newview/lltooldraganddrop.h +++ b/indra/newview/lltooldraganddrop.h @@ -43,6 +43,7 @@ #include "llpermissions.h" #include "llwindow.h" #include "llviewerinventory.h" +#include "llvolume.h" //for LL_MESH_ENABLED class LLToolDragAndDrop; class LLViewerRegion; diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index d66aa567a8..8f51edc1de 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -1594,7 +1594,7 @@ void LLVOVolume::updateFaceSize(S32 idx) LLFace* facep = mDrawable->getFace(idx); if (idx >= getVolume()->getNumVolumeFaces()) { - facep->setSize(0,0); + facep->setSize(0,0, true); } else { diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index 294a68255d..860cff6664 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -160,10 +160,12 @@ xmlrpc-epi Copyright (C) 2000 Epinions, Inc. zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler. google-perftools Copyright (c) 2005, Google Inc. +Second Life Viewer uses Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (and its Licensors). All Rights Reserved. See www.havok.com for details. + All rights reserved. See licenses.txt for details. Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C) - + -- cgit v1.3 From 3827b395fbca941846dab494ee8449786a39561d Mon Sep 17 00:00:00 2001 From: "Matthew Breindel (Falcon)" Date: Thu, 24 Jun 2010 16:45:47 -0700 Subject: Fixed cmake to grab the decomposition libraries. --- indra/cmake/CMakeLists.txt | 2 +- indra/newview/CMakeLists.txt | 6 +++--- install.xml | 26 ++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 8612c46376..cadd2608e2 100644 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -42,7 +42,7 @@ set(cmake_SOURCE_FILES LLAudio.cmake LLCharacter.cmake LLCommon.cmake - LLConvexDecompInter.cmake + LLConvexDecomposition.cmake LLCrashLogger.cmake LLDatabase.cmake LLImage.cmake diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index f0b58b385c..45291e60f9 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -16,7 +16,7 @@ include(FindOpenGL) include(LLAudio) include(LLCharacter) include(LLCommon) -include(LLConvexDecompInter) +include(LLConvexDecomposition) include(LLImage) include(LLImageJ2COJ) include(LLInventory) @@ -50,7 +50,7 @@ include_directories( ${LLAUDIO_INCLUDE_DIRS} ${LLCHARACTER_INCLUDE_DIRS} ${LLCOMMON_INCLUDE_DIRS} - ${LLCONVEXDECOMPINTER_INCLUDE_DIRS} + ${LLCONVEXDECOMP_INCLUDE_DIRS} ${LLIMAGE_INCLUDE_DIRS} ${LLINVENTORY_INCLUDE_DIRS} ${LLMATH_INCLUDE_DIRS} @@ -1682,7 +1682,7 @@ target_link_libraries(${VIEWER_BINARY_NAME} ${CRYPTO_LIBRARIES} ${LLLOGIN_LIBRARIES} ${GOOGLE_PERFTOOLS_LIBRARIES} - ${LLCONVEXDECOMPINTER_LIBRARIES} + ${LLCONVEXDECOMP_LIBRARY} ) build_version(viewer) diff --git a/install.xml b/install.xml index ae3f930a1d..a944e7709d 100644 --- a/install.xml +++ b/install.xml @@ -1038,6 +1038,32 @@ anguage Infrstructure (CLI) international standard + llconvexdecomposition + + copyright + on file + description + Convex decomposition utility for mesh + license + havok + packages + + windows + + md5sum + 9b895f616dfb5ce9814d4e53417950a9 + url + scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-windows-20100622.tar.bz2 + + linux + + md5sum + da4d464008fac288865f259873cafad2 + url + scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-linux-20100622.tar.bz2 + + + llqtwebkit license -- cgit v1.3 From b54fd9d6855c8547ce03beacf1ef04eb6396e75e Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Tue, 29 Jun 2010 13:04:31 +0100 Subject: VWR-8885 CMAKE build hard depends on artwork files Warn earlier, clearer and harder about missing artwork bundle - this still bites snowglobe builders regularly. Reviewed by Aimee. --- indra/cmake/ViewerMiscLibs.cmake | 7 +++++++ indra/newview/ViewerInstall.cmake | 4 ++-- indra/newview/res/have_artwork_bundle.marker | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 indra/newview/res/have_artwork_bundle.marker (limited to 'indra/cmake') diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 2a8abdac23..32c4bc81df 100644 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -7,3 +7,10 @@ if (NOT STANDALONE) use_prebuilt_binary(fontconfig) endif(NOT STANDALONE) +if(VIEWER AND NOT STANDALONE) + if(EXISTS ${CMAKE_SOURCE_DIR}/newview/res/have_artwork_bundle.marker) + message(STATUS "We seem to have an artwork bundle in the tree - brilliant.") + else(EXISTS ${CMAKE_SOURCE_DIR}/newview/res/have_artwork_bundle.marker) + message(FATAL_ERROR "Didn't find an artwork bundle - this needs to be downloaded separately and unpacked into this tree. You can probably get it from the same place you got your viewer source. Thanks!") + endif(EXISTS ${CMAKE_SOURCE_DIR}/newview/res/have_artwork_bundle.marker) +endif(VIEWER AND NOT STANDALONE) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 8168e91a06..0b0d3e2adc 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -7,8 +7,8 @@ install(DIRECTORY skins app_settings linux_tools PATTERN ".svn" EXCLUDE ) -find_file(IS_ARTWORK_PRESENT NAMES avatar_lad.xml - PATHS ${VIEWER_DIR}/newview/character) +find_file(IS_ARTWORK_PRESENT NAMES have_artwork_bundle.marker + PATHS ${VIEWER_DIR}/newview/res) if (IS_ARTWORK_PRESENT) install(DIRECTORY res res-sdl character diff --git a/indra/newview/res/have_artwork_bundle.marker b/indra/newview/res/have_artwork_bundle.marker new file mode 100644 index 0000000000..1dbb238d53 --- /dev/null +++ b/indra/newview/res/have_artwork_bundle.marker @@ -0,0 +1 @@ +If this file exists then you have the artwork bundle installed, which is packaged separately from the Viewer source in the open-source tree. This marker is for the benefit of the build system so it can warn you properly if it's not there. :) -- cgit v1.3 From 2fea1d5d33ec1b41a3cfa4307a1bfa58d8014f88 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Thu, 19 Aug 2010 12:25:15 -0500 Subject: Integrate SIMD API from oreh/server-trunk-oreh --- indra/cmake/00-Common.cmake | 1 + indra/llcharacter/llkeyframemotion.cpp | 2 +- indra/llmath/CMakeLists.txt | 246 ++-- indra/llmath/llcamera.cpp | 2 +- indra/llmath/llmath.h | 1034 +++++++------- indra/llmath/lloctree.h | 19 +- indra/llmath/llquantize.h | 310 +++-- indra/llmath/llquaternion.cpp | 1921 +++++++++++++------------- indra/llmath/llquaternion.h | 1184 ++++++++-------- indra/llmath/llvolume.cpp | 123 +- indra/llmath/tests/v2math_test.cpp | 6 +- indra/llmath/tests/v3color_test.cpp | 6 +- indra/llmath/tests/v3dmath_test.cpp | 2 +- indra/llmath/tests/v3math_test.cpp | 4 +- indra/llmath/tests/v4color_test.cpp | 4 +- indra/llmath/tests/v4coloru_test.cpp | 2 +- indra/llmath/tests/v4math_test.cpp | 4 +- indra/llmath/v2math.cpp | 2 +- indra/llmath/v2math.h | 8 +- indra/llmath/v3color.h | 10 +- indra/llmath/v3dmath.h | 10 +- indra/llmath/v3math.h | 10 +- indra/llmath/v4color.h | 8 +- indra/llmath/v4coloru.h | 4 +- indra/llmath/v4math.h | 8 +- indra/llmessage/llsdmessagebuilder.cpp | 1 + indra/llmessage/lltemplatemessagebuilder.cpp | 1 + indra/llmessage/lltemplatemessagereader.cpp | 1 + indra/llrender/llrender.cpp | 4 +- indra/newview/llagent.cpp | 2 +- indra/newview/lldrawable.cpp | 10 +- indra/newview/lldrawpoolavatar.cpp | 190 ++- indra/newview/lldrawpoolavatar.h | 3 +- indra/newview/llface.cpp | 29 +- indra/newview/llface.h | 3 +- indra/newview/llflexibleobject.cpp | 2 +- indra/newview/llhudicon.cpp | 2 +- indra/newview/llpanelnearbymedia.cpp | 2 +- indra/newview/llpanelprimmediacontrols.cpp | 4 +- indra/newview/llselectmgr.cpp | 6 +- indra/newview/llspatialpartition.cpp | 44 +- indra/newview/llviewercamera.cpp | 2 +- indra/newview/llviewerjointmesh.cpp | 10 +- indra/newview/llviewerjoystick.cpp | 2 +- indra/newview/llviewermedia.cpp | 2 +- indra/newview/llviewerobject.cpp | 2 +- indra/newview/llviewerpartsim.cpp | 4 +- indra/newview/llviewertexture.cpp | 2 +- indra/newview/llvoavatar.cpp | 22 +- indra/newview/llvoavatar.h | 3 + indra/newview/llvograss.cpp | 2 +- indra/newview/llvosurfacepatch.cpp | 4 +- indra/newview/llvotextbubble.cpp | 4 +- indra/newview/llvotree.cpp | 6 +- indra/newview/llvovolume.cpp | 16 +- indra/newview/llworld.cpp | 4 +- indra/newview/pipeline.cpp | 14 +- 57 files changed, 2731 insertions(+), 2602 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 2c7bb77758..f10a61e1e7 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -68,6 +68,7 @@ if (WINDOWS) add_definitions( /Zc:wchar_t- + /arch:SSE2 ) endif (MSVC80 OR MSVC90) diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp index 7bc9e97eb1..bce272082e 100644 --- a/indra/llcharacter/llkeyframemotion.cpp +++ b/indra/llcharacter/llkeyframemotion.cpp @@ -1151,7 +1151,7 @@ void LLKeyframeMotion::applyConstraint(JointConstraint* constraint, F32 time, U8 constraint->mPositions[joint_num] = new_pos; } constraint->mFixupDistanceRMS *= 1.f / (constraint->mTotalLength * (F32)(shared_data->mChainLength - 1)); - constraint->mFixupDistanceRMS = fsqrtf(constraint->mFixupDistanceRMS); + constraint->mFixupDistanceRMS = (F32) sqrt(constraint->mFixupDistanceRMS); //reset old joint rots for (joint_num = 0; joint_num <= shared_data->mChainLength; joint_num++) diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt index dda07133d5..8d85765eb8 100644 --- a/indra/llmath/CMakeLists.txt +++ b/indra/llmath/CMakeLists.txt @@ -1,118 +1,128 @@ -# -*- cmake -*- - -project(llmath) - -include(00-Common) -include(LLCommon) - -include_directories( - ${LLCOMMON_INCLUDE_DIRS} - ) - -set(llmath_SOURCE_FILES - llbbox.cpp - llbboxlocal.cpp - llcamera.cpp - llcoordframe.cpp - llline.cpp - llmodularmath.cpp - llperlin.cpp - llquaternion.cpp - llrect.cpp - llsphere.cpp - llvolume.cpp - llvolumemgr.cpp - llvolumeoctree.cpp - llsdutil_math.cpp - m3math.cpp - m4math.cpp - raytrace.cpp - v2math.cpp - v3color.cpp - v3dmath.cpp - v3math.cpp - v4color.cpp - v4coloru.cpp - v4math.cpp - xform.cpp - ) - -set(llmath_HEADER_FILES - CMakeLists.txt - - camera.h - coordframe.h - llbbox.h - llbboxlocal.h - llcamera.h - llcoord.h - llcoordframe.h - llinterp.h - llline.h - llmath.h - llmodularmath.h - lloctree.h - llperlin.h - llplane.h - llquantize.h - llquaternion.h - llrect.h - llsphere.h - lltreenode.h - llv4math.h - llv4matrix3.h - llv4matrix4.h - llv4vector3.h - llvector4a.h - llmatrix4a.h - llvolume.h - llvolumemgr.h - llvolumeoctree.h - llsdutil_math.h - m3math.h - m4math.h - raytrace.h - v2math.h - v3color.h - v3dmath.h - v3math.h - v4color.h - v4coloru.h - v4math.h - xform.h - ) - -set_source_files_properties(${llmath_HEADER_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - -list(APPEND llmath_SOURCE_FILES ${llmath_HEADER_FILES}) - -add_library (llmath ${llmath_SOURCE_FILES}) - -# Add tests -if (LL_TESTS) - include(LLAddBuildTest) - # UNIT TESTS - SET(llmath_TEST_SOURCE_FILES - llbboxlocal.cpp - llmodularmath.cpp - llrect.cpp - v2math.cpp - v3color.cpp - v4color.cpp - v4coloru.cpp - ) - LL_ADD_PROJECT_UNIT_TESTS(llmath "${llmath_TEST_SOURCE_FILES}") - - # INTEGRATION TESTS - set(test_libs llmath llcommon ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) - # TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests. - LL_ADD_INTEGRATION_TEST(llbbox llbbox.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(llquaternion llquaternion.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(mathmisc "" "${test_libs}") - LL_ADD_INTEGRATION_TEST(m3math "" "${test_libs}") - LL_ADD_INTEGRATION_TEST(v3dmath v3dmath.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(v3math v3math.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(v4math v4math.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(xform xform.cpp "${test_libs}") -endif (LL_TESTS) +# -*- cmake -*- + +project(llmath) + +include(00-Common) +include(LLCommon) + +include_directories( + ${LLCOMMON_INCLUDE_DIRS} + ) + +set(llmath_SOURCE_FILES + llbbox.cpp + llbboxlocal.cpp + llcamera.cpp + llcoordframe.cpp + llline.cpp + llmatrix3a.cpp + llmodularmath.cpp + llperlin.cpp + llquaternion.cpp + llrect.cpp + llsphere.cpp + llvector4a.cpp + llvolume.cpp + llvolumemgr.cpp + llvolumeoctree.cpp + llsdutil_math.cpp + m3math.cpp + m4math.cpp + raytrace.cpp + v2math.cpp + v3color.cpp + v3dmath.cpp + v3math.cpp + v4color.cpp + v4coloru.cpp + v4math.cpp + xform.cpp + ) + +set(llmath_HEADER_FILES + CMakeLists.txt + + camera.h + coordframe.h + llbbox.h + llbboxlocal.h + llcamera.h + llcoord.h + llcoordframe.h + llinterp.h + llline.h + llmath.h + llmatrix3a.h + llmatrix3a.inl + llmodularmath.h + lloctree.h + llperlin.h + llplane.h + llquantize.h + llquaternion.h + llquaternion2.h + llquaternion2.inl + llrect.h + llsimdmath.h + llsimdtypes.h + llsimdtypes.inl + llsphere.h + lltreenode.h + llvector4a.h + llvector4a.inl + llvector4logical.h + llv4math.h + llv4matrix3.h + llv4matrix4.h + llv4vector3.h + llvolume.h + llvolumemgr.h + llvolumeoctree.h + llsdutil_math.h + m3math.h + m4math.h + raytrace.h + v2math.h + v3color.h + v3dmath.h + v3math.h + v4color.h + v4coloru.h + v4math.h + xform.h + ) + +set_source_files_properties(${llmath_HEADER_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + +list(APPEND llmath_SOURCE_FILES ${llmath_HEADER_FILES}) + +add_library (llmath ${llmath_SOURCE_FILES}) + +# Add tests +if (LL_TESTS) + include(LLAddBuildTest) + # UNIT TESTS + SET(llmath_TEST_SOURCE_FILES + llbboxlocal.cpp + llmodularmath.cpp + llrect.cpp + v2math.cpp + v3color.cpp + v4color.cpp + v4coloru.cpp + ) + LL_ADD_PROJECT_UNIT_TESTS(llmath "${llmath_TEST_SOURCE_FILES}") + + # INTEGRATION TESTS + set(test_libs llmath llcommon ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) + # TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests. + LL_ADD_INTEGRATION_TEST(llbbox llbbox.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(llquaternion llquaternion.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(mathmisc "" "${test_libs}") + LL_ADD_INTEGRATION_TEST(m3math "" "${test_libs}") + LL_ADD_INTEGRATION_TEST(v3dmath v3dmath.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(v3math v3math.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(v4math v4math.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(xform xform.cpp "${test_libs}") +endif (LL_TESTS) diff --git a/indra/llmath/llcamera.cpp b/indra/llmath/llcamera.cpp index 6b56e4870e..beb5c48624 100644 --- a/indra/llmath/llcamera.cpp +++ b/indra/llmath/llcamera.cpp @@ -77,7 +77,7 @@ const LLCamera& LLCamera::operator=(const LLCamera& rhs) { memcpy(this, &rhs, sizeof(LLCamera)); alignPlanes(); - LLVector4a::memcpyNonAliased16((F32*) mAgentPlanes, (F32*) rhs.mAgentPlanes, 4*7); + LLVector4a::memcpyNonAliased16((F32*) mAgentPlanes, (F32*) rhs.mAgentPlanes, 4*7*sizeof(F32)); return *this; } diff --git a/indra/llmath/llmath.h b/indra/llmath/llmath.h index c3c15e1374..742bbc4751 100644 --- a/indra/llmath/llmath.h +++ b/indra/llmath/llmath.h @@ -1,525 +1,509 @@ -/** - * @file llmath.h - * @brief Useful math constants and macros. - * - * $LicenseInfo:firstyear=2000&license=viewergpl$ - * - * Copyright (c) 2000-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#ifndef LLMATH_H -#define LLMATH_H - -#include -#include -#include -#include "lldefs.h" -//#include "llstl.h" // *TODO: Remove when LLString is gone -//#include "llstring.h" // *TODO: Remove when LLString is gone -// lltut.h uses is_approx_equal_fraction(). This was moved to its own header -// file in llcommon so we can use lltut.h for llcommon tests without making -// llcommon depend on llmath. -#include "is_approx_equal_fraction.h" - -// work around for Windows & older gcc non-standard function names. -#if LL_WINDOWS -#include -#define llisnan(val) _isnan(val) -#define llfinite(val) _finite(val) -#elif (LL_LINUX && __GNUC__ <= 2) -#define llisnan(val) isnan(val) -#define llfinite(val) isfinite(val) -#elif LL_SOLARIS -#define llisnan(val) isnan(val) -#define llfinite(val) (val <= std::numeric_limits::max()) -#else -#define llisnan(val) std::isnan(val) -#define llfinite(val) std::isfinite(val) -#endif - -// Single Precision Floating Point Routines -#ifndef sqrtf -#define sqrtf(x) ((F32)sqrt((F64)(x))) -#endif -#ifndef fsqrtf -#define fsqrtf(x) sqrtf(x) -#endif - -#ifndef cosf -#define cosf(x) ((F32)cos((F64)(x))) -#endif -#ifndef sinf -#define sinf(x) ((F32)sin((F64)(x))) -#endif -#ifndef tanf -#define tanf(x) ((F32)tan((F64)(x))) -#endif -#ifndef acosf -#define acosf(x) ((F32)acos((F64)(x))) -#endif - -#ifndef powf -#define powf(x,y) ((F32)pow((F64)(x),(F64)(y))) -#endif -#ifndef expf -#define expf(x) ((F32)exp((F64)(x))) -#endif - -const F32 GRAVITY = -9.8f; - -// mathematical constants -const F32 F_PI = 3.1415926535897932384626433832795f; -const F32 F_TWO_PI = 6.283185307179586476925286766559f; -const F32 F_PI_BY_TWO = 1.5707963267948966192313216916398f; -const F32 F_SQRT_TWO_PI = 2.506628274631000502415765284811f; -const F32 F_E = 2.71828182845904523536f; -const F32 F_SQRT2 = 1.4142135623730950488016887242097f; -const F32 F_SQRT3 = 1.73205080756888288657986402541f; -const F32 OO_SQRT2 = 0.7071067811865475244008443621049f; -const F32 DEG_TO_RAD = 0.017453292519943295769236907684886f; -const F32 RAD_TO_DEG = 57.295779513082320876798154814105f; -const F32 F_APPROXIMATELY_ZERO = 0.00001f; -const F32 F_LN2 = 0.69314718056f; -const F32 OO_LN2 = 1.4426950408889634073599246810019f; - -const F32 F_ALMOST_ZERO = 0.0001f; -const F32 F_ALMOST_ONE = 1.0f - F_ALMOST_ZERO; - -// BUG: Eliminate in favor of F_APPROXIMATELY_ZERO above? -const F32 FP_MAG_THRESHOLD = 0.0000001f; - -// TODO: Replace with logic like is_approx_equal -inline BOOL is_approx_zero( F32 f ) { return (-F_APPROXIMATELY_ZERO < f) && (f < F_APPROXIMATELY_ZERO); } - -// These functions work by interpreting sign+exp+mantissa as an unsigned -// integer. -// For example: -// x = 1 00000010 00000000000000000000000 -// y = 1 00000001 11111111111111111111111 -// -// interpreted as ints = -// x = 10000001000000000000000000000000 -// y = 10000000111111111111111111111111 -// which is clearly a different of 1 in the least significant bit -// Values with the same exponent can be trivially shown to work. -// -// WARNING: Denormals of opposite sign do not work -// x = 1 00000000 00000000000000000000001 -// y = 0 00000000 00000000000000000000001 -// Although these values differ by 2 in the LSB, the sign bit makes -// the int comparison fail. -// -// WARNING: NaNs can compare equal -// There is no special treatment of exceptional values like NaNs -// -// WARNING: Infinity is comparable with F32_MAX and negative -// infinity is comparable with F32_MIN - -inline BOOL is_approx_equal(F32 x, F32 y) -{ - const S32 COMPARE_MANTISSA_UP_TO_BIT = 0x02; - return (std::abs((S32) ((U32&)x - (U32&)y) ) < COMPARE_MANTISSA_UP_TO_BIT); -} - -inline BOOL is_approx_equal(F64 x, F64 y) -{ - const S64 COMPARE_MANTISSA_UP_TO_BIT = 0x02; - return (std::abs((S32) ((U64&)x - (U64&)y) ) < COMPARE_MANTISSA_UP_TO_BIT); -} - -inline S32 llabs(const S32 a) -{ - return S32(std::labs(a)); -} - -inline F32 llabs(const F32 a) -{ - return F32(std::fabs(a)); -} - -inline F64 llabs(const F64 a) -{ - return F64(std::fabs(a)); -} - -inline S32 lltrunc( F32 f ) -{ -#if LL_WINDOWS && !defined( __INTEL_COMPILER ) - // Avoids changing the floating point control word. - // Add or subtract 0.5 - epsilon and then round - const static U32 zpfp[] = { 0xBEFFFFFF, 0x3EFFFFFF }; - S32 result; - __asm { - fld f - mov eax, f - shr eax, 29 - and eax, 4 - fadd dword ptr [zpfp + eax] - fistp result - } - return result; -#else - return (S32)f; -#endif -} - -inline S32 lltrunc( F64 f ) -{ - return (S32)f; -} - -inline S32 llfloor( F32 f ) -{ -#if LL_WINDOWS && !defined( __INTEL_COMPILER ) - // Avoids changing the floating point control word. - // Accurate (unlike Stereopsis version) for all values between S32_MIN and S32_MAX and slightly faster than Stereopsis version. - // Add -(0.5 - epsilon) and then round - const U32 zpfp = 0xBEFFFFFF; - S32 result; - __asm { - fld f - fadd dword ptr [zpfp] - fistp result - } - return result; -#else - return (S32)floorf(f); -#endif -} - - -inline S32 llceil( F32 f ) -{ - // This could probably be optimized, but this works. - return (S32)ceil(f); -} - - -#ifndef BOGUS_ROUND -// Use this round. Does an arithmetic round (0.5 always rounds up) -inline S32 llround(const F32 val) -{ - return llfloor(val + 0.5f); -} - -#else // BOGUS_ROUND -// Old llround implementation - does banker's round (toward nearest even in the case of a 0.5. -// Not using this because we don't have a consistent implementation on both platforms, use -// llfloor(val + 0.5f), which is consistent on all platforms. -inline S32 llround(const F32 val) -{ - #if LL_WINDOWS - // Note: assumes that the floating point control word is set to rounding mode (the default) - S32 ret_val; - _asm fld val - _asm fistp ret_val; - return ret_val; - #elif LL_LINUX - // Note: assumes that the floating point control word is set - // to rounding mode (the default) - S32 ret_val; - __asm__ __volatile__( "flds %1 \n\t" - "fistpl %0 \n\t" - : "=m" (ret_val) - : "m" (val) ); - return ret_val; - #else - return llfloor(val + 0.5f); - #endif -} - -// A fast arithmentic round on intel, from Laurent de Soras http://ldesoras.free.fr -inline int round_int(double x) -{ - const float round_to_nearest = 0.5f; - int i; - __asm - { - fld x - fadd st, st (0) - fadd round_to_nearest - fistp i - sar i, 1 - } - return (i); -} -#endif // BOGUS_ROUND - -inline F32 llround( F32 val, F32 nearest ) -{ - return F32(floor(val * (1.0f / nearest) + 0.5f)) * nearest; -} - -inline F64 llround( F64 val, F64 nearest ) -{ - return F64(floor(val * (1.0 / nearest) + 0.5)) * nearest; -} - -// these provide minimum peak error -// -// avg error = -0.013049 -// peak error = -31.4 dB -// RMS error = -28.1 dB - -const F32 FAST_MAG_ALPHA = 0.960433870103f; -const F32 FAST_MAG_BETA = 0.397824734759f; - -// these provide minimum RMS error -// -// avg error = 0.000003 -// peak error = -32.6 dB -// RMS error = -25.7 dB -// -//const F32 FAST_MAG_ALPHA = 0.948059448969f; -//const F32 FAST_MAG_BETA = 0.392699081699f; - -inline F32 fastMagnitude(F32 a, F32 b) -{ - a = (a > 0) ? a : -a; - b = (b > 0) ? b : -b; - return(FAST_MAG_ALPHA * llmax(a,b) + FAST_MAG_BETA * llmin(a,b)); -} - - - -//////////////////// -// -// Fast F32/S32 conversions -// -// Culled from www.stereopsis.com/FPU.html - -const F64 LL_DOUBLE_TO_FIX_MAGIC = 68719476736.0*1.5; //2^36 * 1.5, (52-_shiftamt=36) uses limited precisicion to floor -const S32 LL_SHIFT_AMOUNT = 16; //16.16 fixed point representation, - -// Endian dependent code -#ifdef LL_LITTLE_ENDIAN - #define LL_EXP_INDEX 1 - #define LL_MAN_INDEX 0 -#else - #define LL_EXP_INDEX 0 - #define LL_MAN_INDEX 1 -#endif - -/* Deprecated: use llround(), lltrunc(), or llfloor() instead -// ================================================================================================ -// Real2Int -// ================================================================================================ -inline S32 F64toS32(F64 val) -{ - val = val + LL_DOUBLE_TO_FIX_MAGIC; - return ((S32*)&val)[LL_MAN_INDEX] >> LL_SHIFT_AMOUNT; -} - -// ================================================================================================ -// Real2Int -// ================================================================================================ -inline S32 F32toS32(F32 val) -{ - return F64toS32 ((F64)val); -} -*/ - -//////////////////////////////////////////////// -// -// Fast exp and log -// - -// Implementation of fast exp() approximation (from a paper by Nicol N. Schraudolph -// http://www.inf.ethz.ch/~schraudo/pubs/exp.pdf -static union -{ - double d; - struct - { -#ifdef LL_LITTLE_ENDIAN - S32 j, i; -#else - S32 i, j; -#endif - } n; -} LLECO; // not sure what the name means - -#define LL_EXP_A (1048576 * OO_LN2) // use 1512775 for integer -#define LL_EXP_C (60801) // this value of C good for -4 < y < 4 - -#define LL_FAST_EXP(y) (LLECO.n.i = llround(F32(LL_EXP_A*(y))) + (1072693248 - LL_EXP_C), LLECO.d) - - - -inline F32 llfastpow(const F32 x, const F32 y) -{ - return (F32)(LL_FAST_EXP(y * log(x))); -} - - -inline F32 snap_to_sig_figs(F32 foo, S32 sig_figs) -{ - // compute the power of ten - F32 bar = 1.f; - for (S32 i = 0; i < sig_figs; i++) - { - bar *= 10.f; - } - - foo = (F32)llround(foo * bar); - - // shift back - foo /= bar; - return foo; -} - -inline F32 lerp(F32 a, F32 b, F32 u) -{ - return a + ((b - a) * u); -} - -inline F32 lerp2d(F32 x00, F32 x01, F32 x10, F32 x11, F32 u, F32 v) -{ - F32 a = x00 + (x01-x00)*u; - F32 b = x10 + (x11-x10)*u; - F32 r = a + (b-a)*v; - return r; -} - -inline F32 ramp(F32 x, F32 a, F32 b) -{ - return (a == b) ? 0.0f : ((a - x) / (a - b)); -} - -inline F32 rescale(F32 x, F32 x1, F32 x2, F32 y1, F32 y2) -{ - return lerp(y1, y2, ramp(x, x1, x2)); -} - -inline F32 clamp_rescale(F32 x, F32 x1, F32 x2, F32 y1, F32 y2) -{ - if (y1 < y2) - { - return llclamp(rescale(x,x1,x2,y1,y2),y1,y2); - } - else - { - return llclamp(rescale(x,x1,x2,y1,y2),y2,y1); - } -} - - -inline F32 cubic_step( F32 x, F32 x0, F32 x1, F32 s0, F32 s1 ) -{ - if (x <= x0) - return s0; - - if (x >= x1) - return s1; - - F32 f = (x - x0) / (x1 - x0); - - return s0 + (s1 - s0) * (f * f) * (3.0f - 2.0f * f); -} - -inline F32 cubic_step( F32 x ) -{ - x = llclampf(x); - - return (x * x) * (3.0f - 2.0f * x); -} - -inline F32 quadratic_step( F32 x, F32 x0, F32 x1, F32 s0, F32 s1 ) -{ - if (x <= x0) - return s0; - - if (x >= x1) - return s1; - - F32 f = (x - x0) / (x1 - x0); - F32 f_squared = f * f; - - return (s0 * (1.f - f_squared)) + ((s1 - s0) * f_squared); -} - -inline F32 llsimple_angle(F32 angle) -{ - while(angle <= -F_PI) - angle += F_TWO_PI; - while(angle > F_PI) - angle -= F_TWO_PI; - return angle; -} - -//SDK - Renamed this to get_lower_power_two, since this is what this actually does. -inline U32 get_lower_power_two(U32 val, U32 max_power_two) -{ - if(!max_power_two) - { - max_power_two = 1 << 31 ; - } - if(max_power_two & (max_power_two - 1)) - { - return 0 ; - } - - for(; val < max_power_two ; max_power_two >>= 1) ; - - return max_power_two ; -} - -// calculate next highest power of two, limited by max_power_two -// This is taken from a brilliant little code snipped on http://acius2.blogspot.com/2007/11/calculating-next-power-of-2.html -// Basically we convert the binary to a solid string of 1's with the same -// number of digits, then add one. We subtract 1 initially to handle -// the case where the number passed in is actually a power of two. -// WARNING: this only works with 32 bit ints. -inline U32 get_next_power_two(U32 val, U32 max_power_two) -{ - if(!max_power_two) - { - max_power_two = 1 << 31 ; - } - - if(val >= max_power_two) - { - return max_power_two; - } - - val--; - val = (val >> 1) | val; - val = (val >> 2) | val; - val = (val >> 4) | val; - val = (val >> 8) | val; - val = (val >> 16) | val; - val++; - - return val; -} - -//get the gaussian value given the linear distance from axis x and guassian value o -inline F32 llgaussian(F32 x, F32 o) -{ - return 1.f/(F_SQRT_TWO_PI*o)*powf(F_E, -(x*x)/(2*o*o)); -} - -#endif +/** + * @file llmath.h + * @brief Useful math constants and macros. + * + * $LicenseInfo:firstyear=2000&license=viewergpl$ + * + * Copyright (c) 2000-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LLMATH_H +#define LLMATH_H + +#include +#include +#include "lldefs.h" +//#include "llstl.h" // *TODO: Remove when LLString is gone +//#include "llstring.h" // *TODO: Remove when LLString is gone +// lltut.h uses is_approx_equal_fraction(). This was moved to its own header +// file in llcommon so we can use lltut.h for llcommon tests without making +// llcommon depend on llmath. +#include "is_approx_equal_fraction.h" + +// work around for Windows & older gcc non-standard function names. +#if LL_WINDOWS +#include +#define llisnan(val) _isnan(val) +#define llfinite(val) _finite(val) +#elif (LL_LINUX && __GNUC__ <= 2) +#define llisnan(val) isnan(val) +#define llfinite(val) isfinite(val) +#elif LL_SOLARIS +#define llisnan(val) isnan(val) +#define llfinite(val) (val <= std::numeric_limits::max()) +#else +#define llisnan(val) std::isnan(val) +#define llfinite(val) std::isfinite(val) +#endif + +// Single Precision Floating Point Routines +// (There used to be more defined here, but they appeared to be redundant and +// were breaking some other includes. Removed by Falcon, reviewed by Andrew, 11/25/09) +/*#ifndef tanf +#define tanf(x) ((F32)tan((F64)(x))) +#endif*/ + +const F32 GRAVITY = -9.8f; + +// mathematical constants +const F32 F_PI = 3.1415926535897932384626433832795f; +const F32 F_TWO_PI = 6.283185307179586476925286766559f; +const F32 F_PI_BY_TWO = 1.5707963267948966192313216916398f; +const F32 F_SQRT_TWO_PI = 2.506628274631000502415765284811f; +const F32 F_E = 2.71828182845904523536f; +const F32 F_SQRT2 = 1.4142135623730950488016887242097f; +const F32 F_SQRT3 = 1.73205080756888288657986402541f; +const F32 OO_SQRT2 = 0.7071067811865475244008443621049f; +const F32 DEG_TO_RAD = 0.017453292519943295769236907684886f; +const F32 RAD_TO_DEG = 57.295779513082320876798154814105f; +const F32 F_APPROXIMATELY_ZERO = 0.00001f; +const F32 F_LN2 = 0.69314718056f; +const F32 OO_LN2 = 1.4426950408889634073599246810019f; + +const F32 F_ALMOST_ZERO = 0.0001f; +const F32 F_ALMOST_ONE = 1.0f - F_ALMOST_ZERO; + +// BUG: Eliminate in favor of F_APPROXIMATELY_ZERO above? +const F32 FP_MAG_THRESHOLD = 0.0000001f; + +// TODO: Replace with logic like is_approx_equal +inline BOOL is_approx_zero( F32 f ) { return (-F_APPROXIMATELY_ZERO < f) && (f < F_APPROXIMATELY_ZERO); } + +// These functions work by interpreting sign+exp+mantissa as an unsigned +// integer. +// For example: +// x = 1 00000010 00000000000000000000000 +// y = 1 00000001 11111111111111111111111 +// +// interpreted as ints = +// x = 10000001000000000000000000000000 +// y = 10000000111111111111111111111111 +// which is clearly a different of 1 in the least significant bit +// Values with the same exponent can be trivially shown to work. +// +// WARNING: Denormals of opposite sign do not work +// x = 1 00000000 00000000000000000000001 +// y = 0 00000000 00000000000000000000001 +// Although these values differ by 2 in the LSB, the sign bit makes +// the int comparison fail. +// +// WARNING: NaNs can compare equal +// There is no special treatment of exceptional values like NaNs +// +// WARNING: Infinity is comparable with F32_MAX and negative +// infinity is comparable with F32_MIN + +inline BOOL is_approx_equal(F32 x, F32 y) +{ + const S32 COMPARE_MANTISSA_UP_TO_BIT = 0x02; + return (std::abs((S32) ((U32&)x - (U32&)y) ) < COMPARE_MANTISSA_UP_TO_BIT); +} + +inline BOOL is_approx_equal(F64 x, F64 y) +{ + const S64 COMPARE_MANTISSA_UP_TO_BIT = 0x02; + return (std::abs((S32) ((U64&)x - (U64&)y) ) < COMPARE_MANTISSA_UP_TO_BIT); +} + +inline S32 llabs(const S32 a) +{ + return S32(std::labs(a)); +} + +inline F32 llabs(const F32 a) +{ + return F32(std::fabs(a)); +} + +inline F64 llabs(const F64 a) +{ + return F64(std::fabs(a)); +} + +inline S32 lltrunc( F32 f ) +{ +#if LL_WINDOWS && !defined( __INTEL_COMPILER ) + // Avoids changing the floating point control word. + // Add or subtract 0.5 - epsilon and then round + const static U32 zpfp[] = { 0xBEFFFFFF, 0x3EFFFFFF }; + S32 result; + __asm { + fld f + mov eax, f + shr eax, 29 + and eax, 4 + fadd dword ptr [zpfp + eax] + fistp result + } + return result; +#else + return (S32)f; +#endif +} + +inline S32 lltrunc( F64 f ) +{ + return (S32)f; +} + +inline S32 llfloor( F32 f ) +{ +#if LL_WINDOWS && !defined( __INTEL_COMPILER ) + // Avoids changing the floating point control word. + // Accurate (unlike Stereopsis version) for all values between S32_MIN and S32_MAX and slightly faster than Stereopsis version. + // Add -(0.5 - epsilon) and then round + const U32 zpfp = 0xBEFFFFFF; + S32 result; + __asm { + fld f + fadd dword ptr [zpfp] + fistp result + } + return result; +#else + return (S32)floor(f); +#endif +} + + +inline S32 llceil( F32 f ) +{ + // This could probably be optimized, but this works. + return (S32)ceil(f); +} + + +#ifndef BOGUS_ROUND +// Use this round. Does an arithmetic round (0.5 always rounds up) +inline S32 llround(const F32 val) +{ + return llfloor(val + 0.5f); +} + +#else // BOGUS_ROUND +// Old llround implementation - does banker's round (toward nearest even in the case of a 0.5. +// Not using this because we don't have a consistent implementation on both platforms, use +// llfloor(val + 0.5f), which is consistent on all platforms. +inline S32 llround(const F32 val) +{ + #if LL_WINDOWS + // Note: assumes that the floating point control word is set to rounding mode (the default) + S32 ret_val; + _asm fld val + _asm fistp ret_val; + return ret_val; + #elif LL_LINUX + // Note: assumes that the floating point control word is set + // to rounding mode (the default) + S32 ret_val; + __asm__ __volatile__( "flds %1 \n\t" + "fistpl %0 \n\t" + : "=m" (ret_val) + : "m" (val) ); + return ret_val; + #else + return llfloor(val + 0.5f); + #endif +} + +// A fast arithmentic round on intel, from Laurent de Soras http://ldesoras.free.fr +inline int round_int(double x) +{ + const float round_to_nearest = 0.5f; + int i; + __asm + { + fld x + fadd st, st (0) + fadd round_to_nearest + fistp i + sar i, 1 + } + return (i); +} +#endif // BOGUS_ROUND + +inline F32 llround( F32 val, F32 nearest ) +{ + return F32(floor(val * (1.0f / nearest) + 0.5f)) * nearest; +} + +inline F64 llround( F64 val, F64 nearest ) +{ + return F64(floor(val * (1.0 / nearest) + 0.5)) * nearest; +} + +// these provide minimum peak error +// +// avg error = -0.013049 +// peak error = -31.4 dB +// RMS error = -28.1 dB + +const F32 FAST_MAG_ALPHA = 0.960433870103f; +const F32 FAST_MAG_BETA = 0.397824734759f; + +// these provide minimum RMS error +// +// avg error = 0.000003 +// peak error = -32.6 dB +// RMS error = -25.7 dB +// +//const F32 FAST_MAG_ALPHA = 0.948059448969f; +//const F32 FAST_MAG_BETA = 0.392699081699f; + +inline F32 fastMagnitude(F32 a, F32 b) +{ + a = (a > 0) ? a : -a; + b = (b > 0) ? b : -b; + return(FAST_MAG_ALPHA * llmax(a,b) + FAST_MAG_BETA * llmin(a,b)); +} + + + +//////////////////// +// +// Fast F32/S32 conversions +// +// Culled from www.stereopsis.com/FPU.html + +const F64 LL_DOUBLE_TO_FIX_MAGIC = 68719476736.0*1.5; //2^36 * 1.5, (52-_shiftamt=36) uses limited precisicion to floor +const S32 LL_SHIFT_AMOUNT = 16; //16.16 fixed point representation, + +// Endian dependent code +#ifdef LL_LITTLE_ENDIAN + #define LL_EXP_INDEX 1 + #define LL_MAN_INDEX 0 +#else + #define LL_EXP_INDEX 0 + #define LL_MAN_INDEX 1 +#endif + +/* Deprecated: use llround(), lltrunc(), or llfloor() instead +// ================================================================================================ +// Real2Int +// ================================================================================================ +inline S32 F64toS32(F64 val) +{ + val = val + LL_DOUBLE_TO_FIX_MAGIC; + return ((S32*)&val)[LL_MAN_INDEX] >> LL_SHIFT_AMOUNT; +} + +// ================================================================================================ +// Real2Int +// ================================================================================================ +inline S32 F32toS32(F32 val) +{ + return F64toS32 ((F64)val); +} +*/ + +//////////////////////////////////////////////// +// +// Fast exp and log +// + +// Implementation of fast exp() approximation (from a paper by Nicol N. Schraudolph +// http://www.inf.ethz.ch/~schraudo/pubs/exp.pdf +static union +{ + double d; + struct + { +#ifdef LL_LITTLE_ENDIAN + S32 j, i; +#else + S32 i, j; +#endif + } n; +} LLECO; // not sure what the name means + +#define LL_EXP_A (1048576 * OO_LN2) // use 1512775 for integer +#define LL_EXP_C (60801) // this value of C good for -4 < y < 4 + +#define LL_FAST_EXP(y) (LLECO.n.i = llround(F32(LL_EXP_A*(y))) + (1072693248 - LL_EXP_C), LLECO.d) + + + +inline F32 llfastpow(const F32 x, const F32 y) +{ + return (F32)(LL_FAST_EXP(y * log(x))); +} + + +inline F32 snap_to_sig_figs(F32 foo, S32 sig_figs) +{ + // compute the power of ten + F32 bar = 1.f; + for (S32 i = 0; i < sig_figs; i++) + { + bar *= 10.f; + } + + //F32 new_foo = (F32)llround(foo * bar); + // the llround() implementation sucks. Don't us it. + + F32 sign = (foo > 0.f) ? 1.f : -1.f; + F32 new_foo = F32( S64(foo * bar + sign * 0.5f)); + new_foo /= bar; + + return new_foo; +} + +inline F32 lerp(F32 a, F32 b, F32 u) +{ + return a + ((b - a) * u); +} + +inline F32 lerp2d(F32 x00, F32 x01, F32 x10, F32 x11, F32 u, F32 v) +{ + F32 a = x00 + (x01-x00)*u; + F32 b = x10 + (x11-x10)*u; + F32 r = a + (b-a)*v; + return r; +} + +inline F32 ramp(F32 x, F32 a, F32 b) +{ + return (a == b) ? 0.0f : ((a - x) / (a - b)); +} + +inline F32 rescale(F32 x, F32 x1, F32 x2, F32 y1, F32 y2) +{ + return lerp(y1, y2, ramp(x, x1, x2)); +} + +inline F32 clamp_rescale(F32 x, F32 x1, F32 x2, F32 y1, F32 y2) +{ + if (y1 < y2) + { + return llclamp(rescale(x,x1,x2,y1,y2),y1,y2); + } + else + { + return llclamp(rescale(x,x1,x2,y1,y2),y2,y1); + } +} + + +inline F32 cubic_step( F32 x, F32 x0, F32 x1, F32 s0, F32 s1 ) +{ + if (x <= x0) + return s0; + + if (x >= x1) + return s1; + + F32 f = (x - x0) / (x1 - x0); + + return s0 + (s1 - s0) * (f * f) * (3.0f - 2.0f * f); +} + +inline F32 cubic_step( F32 x ) +{ + x = llclampf(x); + + return (x * x) * (3.0f - 2.0f * x); +} + +inline F32 quadratic_step( F32 x, F32 x0, F32 x1, F32 s0, F32 s1 ) +{ + if (x <= x0) + return s0; + + if (x >= x1) + return s1; + + F32 f = (x - x0) / (x1 - x0); + F32 f_squared = f * f; + + return (s0 * (1.f - f_squared)) + ((s1 - s0) * f_squared); +} + +inline F32 llsimple_angle(F32 angle) +{ + while(angle <= -F_PI) + angle += F_TWO_PI; + while(angle > F_PI) + angle -= F_TWO_PI; + return angle; +} + +//SDK - Renamed this to get_lower_power_two, since this is what this actually does. +inline U32 get_lower_power_two(U32 val, U32 max_power_two) +{ + if(!max_power_two) + { + max_power_two = 1 << 31 ; + } + if(max_power_two & (max_power_two - 1)) + { + return 0 ; + } + + for(; val < max_power_two ; max_power_two >>= 1) ; + + return max_power_two ; +} + +// calculate next highest power of two, limited by max_power_two +// This is taken from a brilliant little code snipped on http://acius2.blogspot.com/2007/11/calculating-next-power-of-2.html +// Basically we convert the binary to a solid string of 1's with the same +// number of digits, then add one. We subtract 1 initially to handle +// the case where the number passed in is actually a power of two. +// WARNING: this only works with 32 bit ints. +inline U32 get_next_power_two(U32 val, U32 max_power_two) +{ + if(!max_power_two) + { + max_power_two = 1 << 31 ; + } + + if(val >= max_power_two) + { + return max_power_two; + } + + val--; + val = (val >> 1) | val; + val = (val >> 2) | val; + val = (val >> 4) | val; + val = (val >> 8) | val; + val = (val >> 16) | val; + val++; + + return val; +} + +//get the gaussian value given the linear distance from axis x and guassian value o +inline F32 llgaussian(F32 x, F32 o) +{ + return 1.f/(F_SQRT_TWO_PI*o)*powf(F_E, -(x*x)/(2*o*o)); +} + +// Include simd math header +#include "llsimdmath.h" + +#endif diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h index 59828ae565..432e9fbcd8 100644 --- a/indra/llmath/lloctree.h +++ b/indra/llmath/lloctree.h @@ -142,7 +142,7 @@ public: S32 getOctant(const LLVector4a& pos) const //get the octant pos is in { - return pos.greaterThan4(mD[CENTER]).getComparisonMask() & 0x7; + return pos.greaterThan(mD[CENTER]).getGatheredBits() & 0x7; } inline bool isInside(const LLVector4a& pos, const F32& rad) const @@ -157,13 +157,13 @@ public: bool isInside(const LLVector4a& pos) const { - S32 gt = pos.greaterThan4(mD[MAX]).getComparisonMask() & 0x7; + S32 gt = pos.greaterThan(mD[MAX]).getGatheredBits() & 0x7; if (gt) { return false; } - S32 lt = pos.lessEqual4(mD[MIN]).getComparisonMask() & 0x7; + S32 lt = pos.lessEqual(mD[MIN]).getGatheredBits() & 0x7; if (lt) { return false; @@ -206,13 +206,13 @@ public: { const LLVector4a& pos = data->getPositionGroup(); - LLVector4a gt = pos.greaterThan4(center); + LLVector4a gt = pos.greaterThan(center); LLVector4a up; - up.mQ = _mm_and_ps(size.mQ, gt.mQ); + up = _mm_and_ps(size, gt); LLVector4a down; - down.mQ = _mm_andnot_ps(gt.mQ, size.mQ); + down = _mm_andnot_ps(gt, size); center.add(up); center.sub(down); @@ -326,9 +326,8 @@ public: LLVector4a val; val.setSub(center, getCenter()); val.setAbs(val); - LLVector4a app_zero; - app_zero.mQ = F_APPROXIMATELY_ZERO_4A; - S32 lt = val.lessThan4(app_zero).getComparisonMask() & 0x7; + + S32 lt = val.lessThan(LLVector4a::getEpsilon()).getGatheredBits() & 0x7; if( lt == 0x7 ) { @@ -642,7 +641,7 @@ public: LLVector4a val; val.setSub(v, BaseType::mD[BaseType::CENTER]); val.setAbs(val); - S32 lt = val.lessThan4(MAX_MAG).getComparisonMask() & 0x7; + S32 lt = val.lessThan(MAX_MAG).getGatheredBits() & 0x7; if (lt != 0x7) { diff --git a/indra/llmath/llquantize.h b/indra/llmath/llquantize.h index 2192427f07..000d8a060f 100644 --- a/indra/llmath/llquantize.h +++ b/indra/llmath/llquantize.h @@ -1,152 +1,158 @@ -/** - * @file llquantize.h - * @brief useful routines for quantizing floats to various length ints - * and back out again - * - * $LicenseInfo:firstyear=2001&license=viewergpl$ - * - * Copyright (c) 2001-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#ifndef LL_LLQUANTIZE_H -#define LL_LLQUANTIZE_H - -const U16 U16MAX = 65535; -const F32 OOU16MAX = 1.f/(F32)(U16MAX); - -const U8 U8MAX = 255; -const F32 OOU8MAX = 1.f/(F32)(U8MAX); - -const U8 FIRSTVALIDCHAR = 54; -const U8 MAXSTRINGVAL = U8MAX - FIRSTVALIDCHAR; //we don't allow newline or null - - -inline U16 F32_to_U16_ROUND(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); - // make sure that the value is positive and normalized to <0, 1> - val -= lower; - val /= (upper - lower); - - // round the value. Sreturn the U16 - return (U16)(llround(val*U16MAX)); -} - - -inline U16 F32_to_U16(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); - // make sure that the value is positive and normalized to <0, 1> - val -= lower; - val /= (upper - lower); - - // return the U16 - return (U16)(llfloor(val*U16MAX)); -} - -inline F32 U16_to_F32(U16 ival, F32 lower, F32 upper) -{ - F32 val = ival*OOU16MAX; - F32 delta = (upper - lower); - val *= delta; - val += lower; - - F32 max_error = delta*OOU16MAX; - - // make sure that zero's come through as zero - if (fabsf(val) < max_error) - val = 0.f; - - return val; -} - - -inline U8 F32_to_U8_ROUND(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); - // make sure that the value is positive and normalized to <0, 1> - val -= lower; - val /= (upper - lower); - - // return the rounded U8 - return (U8)(llround(val*U8MAX)); -} - - -inline U8 F32_to_U8(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); - // make sure that the value is positive and normalized to <0, 1> - val -= lower; - val /= (upper - lower); - - // return the U8 - return (U8)(llfloor(val*U8MAX)); -} - -inline F32 U8_to_F32(U8 ival, F32 lower, F32 upper) -{ - F32 val = ival*OOU8MAX; - F32 delta = (upper - lower); - val *= delta; - val += lower; - - F32 max_error = delta*OOU8MAX; - - // make sure that zero's come through as zero - if (fabsf(val) < max_error) - val = 0.f; - - return val; -} - -inline U8 F32_TO_STRING(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); //[lower, upper] - // make sure that the value is positive and normalized to <0, 1> - val -= lower; //[0, upper-lower] - val /= (upper - lower); //[0,1] - val = val * MAXSTRINGVAL; //[0, MAXSTRINGVAL] - val = floor(val + 0.5f); //[0, MAXSTRINGVAL] - - U8 stringVal = (U8)(val) + FIRSTVALIDCHAR; //[FIRSTVALIDCHAR, MAXSTRINGVAL + FIRSTVALIDCHAR] - return stringVal; -} - -inline F32 STRING_TO_F32(U8 ival, F32 lower, F32 upper) -{ - // remove empty space left for NULL, newline, etc. - ival -= FIRSTVALIDCHAR; //[0, MAXSTRINGVAL] - - F32 val = (F32)ival * (1.f / (F32)MAXSTRINGVAL); //[0, 1] - F32 delta = (upper - lower); - val *= delta; //[0, upper - lower] - val += lower; //[lower, upper] - - return val; -} - -#endif +/** + * @file llquantize.h + * @brief useful routines for quantizing floats to various length ints + * and back out again + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLQUANTIZE_H +#define LL_LLQUANTIZE_H + +const U16 U16MAX = 65535; +LL_ALIGN_16( const F32 F_U16MAX_4A[4] ) = { 65535.f, 65535.f, 65535.f, 65535.f }; + +const F32 OOU16MAX = 1.f/(F32)(U16MAX); +LL_ALIGN_16( const F32 F_OOU16MAX_4A[4] ) = { OOU16MAX, OOU16MAX, OOU16MAX, OOU16MAX }; + +const U8 U8MAX = 255; +LL_ALIGN_16( const F32 F_U8MAX_4A[4] ) = { 255.f, 255.f, 255.f, 255.f }; + +const F32 OOU8MAX = 1.f/(F32)(U8MAX); +LL_ALIGN_16( const F32 F_OOU8MAX_4A[4] ) = { OOU8MAX, OOU8MAX, OOU8MAX, OOU8MAX }; + +const U8 FIRSTVALIDCHAR = 54; +const U8 MAXSTRINGVAL = U8MAX - FIRSTVALIDCHAR; //we don't allow newline or null + + +inline U16 F32_to_U16_ROUND(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); + // make sure that the value is positive and normalized to <0, 1> + val -= lower; + val /= (upper - lower); + + // round the value. Sreturn the U16 + return (U16)(llround(val*U16MAX)); +} + + +inline U16 F32_to_U16(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); + // make sure that the value is positive and normalized to <0, 1> + val -= lower; + val /= (upper - lower); + + // return the U16 + return (U16)(llfloor(val*U16MAX)); +} + +inline F32 U16_to_F32(U16 ival, F32 lower, F32 upper) +{ + F32 val = ival*OOU16MAX; + F32 delta = (upper - lower); + val *= delta; + val += lower; + + F32 max_error = delta*OOU16MAX; + + // make sure that zero's come through as zero + if (fabsf(val) < max_error) + val = 0.f; + + return val; +} + + +inline U8 F32_to_U8_ROUND(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); + // make sure that the value is positive and normalized to <0, 1> + val -= lower; + val /= (upper - lower); + + // return the rounded U8 + return (U8)(llround(val*U8MAX)); +} + + +inline U8 F32_to_U8(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); + // make sure that the value is positive and normalized to <0, 1> + val -= lower; + val /= (upper - lower); + + // return the U8 + return (U8)(llfloor(val*U8MAX)); +} + +inline F32 U8_to_F32(U8 ival, F32 lower, F32 upper) +{ + F32 val = ival*OOU8MAX; + F32 delta = (upper - lower); + val *= delta; + val += lower; + + F32 max_error = delta*OOU8MAX; + + // make sure that zero's come through as zero + if (fabsf(val) < max_error) + val = 0.f; + + return val; +} + +inline U8 F32_TO_STRING(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); //[lower, upper] + // make sure that the value is positive and normalized to <0, 1> + val -= lower; //[0, upper-lower] + val /= (upper - lower); //[0,1] + val = val * MAXSTRINGVAL; //[0, MAXSTRINGVAL] + val = floor(val + 0.5f); //[0, MAXSTRINGVAL] + + U8 stringVal = (U8)(val) + FIRSTVALIDCHAR; //[FIRSTVALIDCHAR, MAXSTRINGVAL + FIRSTVALIDCHAR] + return stringVal; +} + +inline F32 STRING_TO_F32(U8 ival, F32 lower, F32 upper) +{ + // remove empty space left for NULL, newline, etc. + ival -= FIRSTVALIDCHAR; //[0, MAXSTRINGVAL] + + F32 val = (F32)ival * (1.f / (F32)MAXSTRINGVAL); //[0, 1] + F32 delta = (upper - lower); + val *= delta; //[0, upper - lower] + val += lower; //[lower, upper] + + return val; +} + +#endif diff --git a/indra/llmath/llquaternion.cpp b/indra/llmath/llquaternion.cpp index fdcc19d657..efdc10e2c6 100644 --- a/indra/llmath/llquaternion.cpp +++ b/indra/llmath/llquaternion.cpp @@ -1,960 +1,961 @@ -/** - * @file llquaternion.cpp - * @brief LLQuaternion class implementation. - * - * $LicenseInfo:firstyear=2000&license=viewergpl$ - * - * Copyright (c) 2000-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#include "linden_common.h" - -#include "llquaternion.h" - -#include "llmath.h" // for F_PI -//#include "vmath.h" -#include "v3math.h" -#include "v3dmath.h" -#include "v4math.h" -#include "m4math.h" -#include "m3math.h" -#include "llquantize.h" - -// WARNING: Don't use this for global const definitions! using this -// at the top of a *.cpp file might not give you what you think. -const LLQuaternion LLQuaternion::DEFAULT; - -// Constructors - -LLQuaternion::LLQuaternion(const LLMatrix4 &mat) -{ - *this = mat.quaternion(); - normalize(); -} - -LLQuaternion::LLQuaternion(const LLMatrix3 &mat) -{ - *this = mat.quaternion(); - normalize(); -} - -LLQuaternion::LLQuaternion(F32 angle, const LLVector4 &vec) -{ - LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); - v.normalize(); - - F32 c, s; - c = cosf(angle*0.5f); - s = sinf(angle*0.5f); - - mQ[VX] = v.mV[VX] * s; - mQ[VY] = v.mV[VY] * s; - mQ[VZ] = v.mV[VZ] * s; - mQ[VW] = c; - normalize(); -} - -LLQuaternion::LLQuaternion(F32 angle, const LLVector3 &vec) -{ - LLVector3 v(vec); - v.normalize(); - - F32 c, s; - c = cosf(angle*0.5f); - s = sinf(angle*0.5f); - - mQ[VX] = v.mV[VX] * s; - mQ[VY] = v.mV[VY] * s; - mQ[VZ] = v.mV[VZ] * s; - mQ[VW] = c; - normalize(); -} - -LLQuaternion::LLQuaternion(const LLVector3 &x_axis, - const LLVector3 &y_axis, - const LLVector3 &z_axis) -{ - LLMatrix3 mat; - mat.setRows(x_axis, y_axis, z_axis); - *this = mat.quaternion(); - normalize(); -} - -// Quatizations -void LLQuaternion::quantize16(F32 lower, F32 upper) -{ - F32 x = mQ[VX]; - F32 y = mQ[VY]; - F32 z = mQ[VZ]; - F32 s = mQ[VS]; - - x = U16_to_F32(F32_to_U16_ROUND(x, lower, upper), lower, upper); - y = U16_to_F32(F32_to_U16_ROUND(y, lower, upper), lower, upper); - z = U16_to_F32(F32_to_U16_ROUND(z, lower, upper), lower, upper); - s = U16_to_F32(F32_to_U16_ROUND(s, lower, upper), lower, upper); - - mQ[VX] = x; - mQ[VY] = y; - mQ[VZ] = z; - mQ[VS] = s; - - normalize(); -} - -void LLQuaternion::quantize8(F32 lower, F32 upper) -{ - mQ[VX] = U8_to_F32(F32_to_U8_ROUND(mQ[VX], lower, upper), lower, upper); - mQ[VY] = U8_to_F32(F32_to_U8_ROUND(mQ[VY], lower, upper), lower, upper); - mQ[VZ] = U8_to_F32(F32_to_U8_ROUND(mQ[VZ], lower, upper), lower, upper); - mQ[VS] = U8_to_F32(F32_to_U8_ROUND(mQ[VS], lower, upper), lower, upper); - - normalize(); -} - -// LLVector3 Magnitude and Normalization Functions - - -// Set LLQuaternion routines - -const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, F32 x, F32 y, F32 z) -{ - LLVector3 vec(x, y, z); - vec.normalize(); - - angle *= 0.5f; - F32 c, s; - c = cosf(angle); - s = sinf(angle); - - mQ[VX] = vec.mV[VX]*s; - mQ[VY] = vec.mV[VY]*s; - mQ[VZ] = vec.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, const LLVector3 &vec) -{ - LLVector3 v(vec); - v.normalize(); - - angle *= 0.5f; - F32 c, s; - c = cosf(angle); - s = sinf(angle); - - mQ[VX] = v.mV[VX]*s; - mQ[VY] = v.mV[VY]*s; - mQ[VZ] = v.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, const LLVector4 &vec) -{ - LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); - v.normalize(); - - F32 c, s; - c = cosf(angle*0.5f); - s = sinf(angle*0.5f); - - mQ[VX] = v.mV[VX]*s; - mQ[VY] = v.mV[VY]*s; - mQ[VZ] = v.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setEulerAngles(F32 roll, F32 pitch, F32 yaw) -{ - LLMatrix3 rot_mat(roll, pitch, yaw); - rot_mat.orthogonalize(); - *this = rot_mat.quaternion(); - - normalize(); - return (*this); -} - -// deprecated -const LLQuaternion& LLQuaternion::set(const LLMatrix3 &mat) -{ - *this = mat.quaternion(); - normalize(); - return (*this); -} - -// deprecated -const LLQuaternion& LLQuaternion::set(const LLMatrix4 &mat) -{ - *this = mat.quaternion(); - normalize(); - return (*this); -} - -// deprecated -const LLQuaternion& LLQuaternion::setQuat(F32 angle, F32 x, F32 y, F32 z) -{ - LLVector3 vec(x, y, z); - vec.normalize(); - - angle *= 0.5f; - F32 c, s; - c = cosf(angle); - s = sinf(angle); - - mQ[VX] = vec.mV[VX]*s; - mQ[VY] = vec.mV[VY]*s; - mQ[VZ] = vec.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -// deprecated -const LLQuaternion& LLQuaternion::setQuat(F32 angle, const LLVector3 &vec) -{ - LLVector3 v(vec); - v.normalize(); - - angle *= 0.5f; - F32 c, s; - c = cosf(angle); - s = sinf(angle); - - mQ[VX] = v.mV[VX]*s; - mQ[VY] = v.mV[VY]*s; - mQ[VZ] = v.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setQuat(F32 angle, const LLVector4 &vec) -{ - LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); - v.normalize(); - - F32 c, s; - c = cosf(angle*0.5f); - s = sinf(angle*0.5f); - - mQ[VX] = v.mV[VX]*s; - mQ[VY] = v.mV[VY]*s; - mQ[VZ] = v.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setQuat(F32 roll, F32 pitch, F32 yaw) -{ - LLMatrix3 rot_mat(roll, pitch, yaw); - rot_mat.orthogonalize(); - *this = rot_mat.quaternion(); - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setQuat(const LLMatrix3 &mat) -{ - *this = mat.quaternion(); - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setQuat(const LLMatrix4 &mat) -{ - *this = mat.quaternion(); - normalize(); - return (*this); -//#if 1 -// // NOTE: LLQuaternion's are actually inverted with respect to -// // the matrices, so this code also assumes inverted quaternions -// // (-x, -y, -z, w). The result is that roll,pitch,yaw are applied -// // in reverse order (yaw,pitch,roll). -// F64 cosX = cos(roll); -// F64 cosY = cos(pitch); -// F64 cosZ = cos(yaw); -// -// F64 sinX = sin(roll); -// F64 sinY = sin(pitch); -// F64 sinZ = sin(yaw); -// -// mQ[VW] = (F32)sqrt(cosY*cosZ - sinX*sinY*sinZ + cosX*cosZ + cosX*cosY + 1.0)*.5; -// if (fabs(mQ[VW]) < F_APPROXIMATELY_ZERO) -// { -// // null rotation, any axis will do -// mQ[VX] = 0.0f; -// mQ[VY] = 1.0f; -// mQ[VZ] = 0.0f; -// } -// else -// { -// F32 inv_s = 1.0f / (4.0f * mQ[VW]); -// mQ[VX] = (F32)-(-sinX*cosY - cosX*sinY*sinZ - sinX*cosZ) * inv_s; -// mQ[VY] = (F32)-(-cosX*sinY*cosZ + sinX*sinZ - sinY) * inv_s; -// mQ[VZ] = (F32)-(-cosY*sinZ - sinX*sinY*cosZ - cosX*sinZ) * inv_s; -// } -// -//#else // This only works on a certain subset of roll/pitch/yaw -// -// F64 cosX = cosf(roll/2.0); -// F64 cosY = cosf(pitch/2.0); -// F64 cosZ = cosf(yaw/2.0); -// -// F64 sinX = sinf(roll/2.0); -// F64 sinY = sinf(pitch/2.0); -// F64 sinZ = sinf(yaw/2.0); -// -// mQ[VW] = (F32)(cosX*cosY*cosZ + sinX*sinY*sinZ); -// mQ[VX] = (F32)(sinX*cosY*cosZ - cosX*sinY*sinZ); -// mQ[VY] = (F32)(cosX*sinY*cosZ + sinX*cosY*sinZ); -// mQ[VZ] = (F32)(cosX*cosY*sinZ - sinX*sinY*cosZ); -//#endif -// -// normalize(); -// return (*this); -} - -// SJB: This code is correct for a logicly stored (non-transposed) matrix; -// Our matrices are stored transposed, OpenGL style, so this generates the -// INVERSE matrix, or the CORRECT matrix form an INVERSE quaternion. -// Because we use similar logic in LLMatrix3::quaternion(), -// we are internally consistant so everything works OK :) -LLMatrix3 LLQuaternion::getMatrix3(void) const -{ - LLMatrix3 mat; - F32 xx, xy, xz, xw, yy, yz, yw, zz, zw; - - xx = mQ[VX] * mQ[VX]; - xy = mQ[VX] * mQ[VY]; - xz = mQ[VX] * mQ[VZ]; - xw = mQ[VX] * mQ[VW]; - - yy = mQ[VY] * mQ[VY]; - yz = mQ[VY] * mQ[VZ]; - yw = mQ[VY] * mQ[VW]; - - zz = mQ[VZ] * mQ[VZ]; - zw = mQ[VZ] * mQ[VW]; - - mat.mMatrix[0][0] = 1.f - 2.f * ( yy + zz ); - mat.mMatrix[0][1] = 2.f * ( xy + zw ); - mat.mMatrix[0][2] = 2.f * ( xz - yw ); - - mat.mMatrix[1][0] = 2.f * ( xy - zw ); - mat.mMatrix[1][1] = 1.f - 2.f * ( xx + zz ); - mat.mMatrix[1][2] = 2.f * ( yz + xw ); - - mat.mMatrix[2][0] = 2.f * ( xz + yw ); - mat.mMatrix[2][1] = 2.f * ( yz - xw ); - mat.mMatrix[2][2] = 1.f - 2.f * ( xx + yy ); - - return mat; -} - -LLMatrix4 LLQuaternion::getMatrix4(void) const -{ - LLMatrix4 mat; - F32 xx, xy, xz, xw, yy, yz, yw, zz, zw; - - xx = mQ[VX] * mQ[VX]; - xy = mQ[VX] * mQ[VY]; - xz = mQ[VX] * mQ[VZ]; - xw = mQ[VX] * mQ[VW]; - - yy = mQ[VY] * mQ[VY]; - yz = mQ[VY] * mQ[VZ]; - yw = mQ[VY] * mQ[VW]; - - zz = mQ[VZ] * mQ[VZ]; - zw = mQ[VZ] * mQ[VW]; - - mat.mMatrix[0][0] = 1.f - 2.f * ( yy + zz ); - mat.mMatrix[0][1] = 2.f * ( xy + zw ); - mat.mMatrix[0][2] = 2.f * ( xz - yw ); - - mat.mMatrix[1][0] = 2.f * ( xy - zw ); - mat.mMatrix[1][1] = 1.f - 2.f * ( xx + zz ); - mat.mMatrix[1][2] = 2.f * ( yz + xw ); - - mat.mMatrix[2][0] = 2.f * ( xz + yw ); - mat.mMatrix[2][1] = 2.f * ( yz - xw ); - mat.mMatrix[2][2] = 1.f - 2.f * ( xx + yy ); - - // TODO -- should we set the translation portion to zero? - - return mat; -} - - - - -// Other useful methods - - -// calculate the shortest rotation from a to b -void LLQuaternion::shortestArc(const LLVector3 &a, const LLVector3 &b) -{ - // Make a local copy of both vectors. - LLVector3 vec_a = a; - LLVector3 vec_b = b; - - // Make sure neither vector is zero length. Also normalize - // the vectors while we are at it. - F32 vec_a_mag = vec_a.normalize(); - F32 vec_b_mag = vec_b.normalize(); - if (vec_a_mag < F_APPROXIMATELY_ZERO || - vec_b_mag < F_APPROXIMATELY_ZERO) - { - // Can't calculate a rotation from this. - // Just return ZERO_ROTATION instead. - loadIdentity(); - return; - } - - // Create an axis to rotate around, and the cos of the angle to rotate. - LLVector3 axis = vec_a % vec_b; - F32 cos_theta = vec_a * vec_b; - - // Check the angle between the vectors to see if they are parallel or anti-parallel. - if (cos_theta > 1.0 - F_APPROXIMATELY_ZERO) - { - // a and b are parallel. No rotation is necessary. - loadIdentity(); - } - else if (cos_theta < -1.0 + F_APPROXIMATELY_ZERO) - { - // a and b are anti-parallel. - // Rotate 180 degrees around some orthogonal axis. - // Find the projection of the x-axis onto a, and try - // using the vector between the projection and the x-axis - // as the orthogonal axis. - LLVector3 proj = vec_a.mV[VX] / (vec_a * vec_a) * vec_a; - LLVector3 ortho_axis(1.f, 0.f, 0.f); - ortho_axis -= proj; - - // Turn this into an orthonormal axis. - F32 ortho_length = ortho_axis.normalize(); - // If the axis' length is 0, then our guess at an orthogonal axis - // was wrong (a is parallel to the x-axis). - if (ortho_length < F_APPROXIMATELY_ZERO) - { - // Use the z-axis instead. - ortho_axis.setVec(0.f, 0.f, 1.f); - } - - // Construct a quaternion from this orthonormal axis. - mQ[VX] = ortho_axis.mV[VX]; - mQ[VY] = ortho_axis.mV[VY]; - mQ[VZ] = ortho_axis.mV[VZ]; - mQ[VW] = 0.f; - } - else - { - // a and b are NOT parallel or anti-parallel. - // Return the rotation between these vectors. - F32 theta = (F32)acos(cos_theta); - - setAngleAxis(theta, axis); - } -} - -// constrains rotation to a cone angle specified in radians -const LLQuaternion &LLQuaternion::constrain(F32 radians) -{ - const F32 cos_angle_lim = cosf( radians/2 ); // mQ[VW] limit - const F32 sin_angle_lim = sinf( radians/2 ); // rotation axis length limit - - if (mQ[VW] < 0.f) - { - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - mQ[VW] *= -1.f; - } - - // if rotation angle is greater than limit (cos is less than limit) - if( mQ[VW] < cos_angle_lim ) - { - mQ[VW] = cos_angle_lim; - F32 axis_len = sqrtf( mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] ); // sin(theta/2) - F32 axis_mult_fact = sin_angle_lim / axis_len; - mQ[VX] *= axis_mult_fact; - mQ[VY] *= axis_mult_fact; - mQ[VZ] *= axis_mult_fact; - } - - return *this; -} - -// Operators - -std::ostream& operator<<(std::ostream &s, const LLQuaternion &a) -{ - s << "{ " - << a.mQ[VX] << ", " << a.mQ[VY] << ", " << a.mQ[VZ] << ", " << a.mQ[VW] - << " }"; - return s; -} - - -// Does NOT renormalize the result -LLQuaternion operator*(const LLQuaternion &a, const LLQuaternion &b) -{ -// LLQuaternion::mMultCount++; - - LLQuaternion q( - b.mQ[3] * a.mQ[0] + b.mQ[0] * a.mQ[3] + b.mQ[1] * a.mQ[2] - b.mQ[2] * a.mQ[1], - b.mQ[3] * a.mQ[1] + b.mQ[1] * a.mQ[3] + b.mQ[2] * a.mQ[0] - b.mQ[0] * a.mQ[2], - b.mQ[3] * a.mQ[2] + b.mQ[2] * a.mQ[3] + b.mQ[0] * a.mQ[1] - b.mQ[1] * a.mQ[0], - b.mQ[3] * a.mQ[3] - b.mQ[0] * a.mQ[0] - b.mQ[1] * a.mQ[1] - b.mQ[2] * a.mQ[2] - ); - return q; -} - -/* -LLMatrix4 operator*(const LLMatrix4 &m, const LLQuaternion &q) -{ - LLMatrix4 qmat(q); - return (m*qmat); -} -*/ - - - -LLVector4 operator*(const LLVector4 &a, const LLQuaternion &rot) -{ - F32 rw = - rot.mQ[VX] * a.mV[VX] - rot.mQ[VY] * a.mV[VY] - rot.mQ[VZ] * a.mV[VZ]; - F32 rx = rot.mQ[VW] * a.mV[VX] + rot.mQ[VY] * a.mV[VZ] - rot.mQ[VZ] * a.mV[VY]; - F32 ry = rot.mQ[VW] * a.mV[VY] + rot.mQ[VZ] * a.mV[VX] - rot.mQ[VX] * a.mV[VZ]; - F32 rz = rot.mQ[VW] * a.mV[VZ] + rot.mQ[VX] * a.mV[VY] - rot.mQ[VY] * a.mV[VX]; - - F32 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; - F32 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; - F32 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; - - return LLVector4(nx, ny, nz, a.mV[VW]); -} - -LLVector3 operator*(const LLVector3 &a, const LLQuaternion &rot) -{ - F32 rw = - rot.mQ[VX] * a.mV[VX] - rot.mQ[VY] * a.mV[VY] - rot.mQ[VZ] * a.mV[VZ]; - F32 rx = rot.mQ[VW] * a.mV[VX] + rot.mQ[VY] * a.mV[VZ] - rot.mQ[VZ] * a.mV[VY]; - F32 ry = rot.mQ[VW] * a.mV[VY] + rot.mQ[VZ] * a.mV[VX] - rot.mQ[VX] * a.mV[VZ]; - F32 rz = rot.mQ[VW] * a.mV[VZ] + rot.mQ[VX] * a.mV[VY] - rot.mQ[VY] * a.mV[VX]; - - F32 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; - F32 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; - F32 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; - - return LLVector3(nx, ny, nz); -} - -LLVector3d operator*(const LLVector3d &a, const LLQuaternion &rot) -{ - F64 rw = - rot.mQ[VX] * a.mdV[VX] - rot.mQ[VY] * a.mdV[VY] - rot.mQ[VZ] * a.mdV[VZ]; - F64 rx = rot.mQ[VW] * a.mdV[VX] + rot.mQ[VY] * a.mdV[VZ] - rot.mQ[VZ] * a.mdV[VY]; - F64 ry = rot.mQ[VW] * a.mdV[VY] + rot.mQ[VZ] * a.mdV[VX] - rot.mQ[VX] * a.mdV[VZ]; - F64 rz = rot.mQ[VW] * a.mdV[VZ] + rot.mQ[VX] * a.mdV[VY] - rot.mQ[VY] * a.mdV[VX]; - - F64 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; - F64 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; - F64 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; - - return LLVector3d(nx, ny, nz); -} - -F32 dot(const LLQuaternion &a, const LLQuaternion &b) -{ - return a.mQ[VX] * b.mQ[VX] + - a.mQ[VY] * b.mQ[VY] + - a.mQ[VZ] * b.mQ[VZ] + - a.mQ[VW] * b.mQ[VW]; -} - -// DEMO HACK: This lerp is probably inocrrect now due intermediate normalization -// it should look more like the lerp below -#if 0 -// linear interpolation -LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q) -{ - LLQuaternion r; - r = t * (q - p) + p; - r.normalize(); - return r; -} -#endif - -// lerp from identity to q -LLQuaternion lerp(F32 t, const LLQuaternion &q) -{ - LLQuaternion r; - r.mQ[VX] = t * q.mQ[VX]; - r.mQ[VY] = t * q.mQ[VY]; - r.mQ[VZ] = t * q.mQ[VZ]; - r.mQ[VW] = t * (q.mQ[VZ] - 1.f) + 1.f; - r.normalize(); - return r; -} - -LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q) -{ - LLQuaternion r; - F32 inv_t; - - inv_t = 1.f - t; - - r.mQ[VX] = t * q.mQ[VX] + (inv_t * p.mQ[VX]); - r.mQ[VY] = t * q.mQ[VY] + (inv_t * p.mQ[VY]); - r.mQ[VZ] = t * q.mQ[VZ] + (inv_t * p.mQ[VZ]); - r.mQ[VW] = t * q.mQ[VW] + (inv_t * p.mQ[VW]); - r.normalize(); - return r; -} - - -// spherical linear interpolation -LLQuaternion slerp( F32 u, const LLQuaternion &a, const LLQuaternion &b ) -{ - // cosine theta = dot product of a and b - F32 cos_t = a.mQ[0]*b.mQ[0] + a.mQ[1]*b.mQ[1] + a.mQ[2]*b.mQ[2] + a.mQ[3]*b.mQ[3]; - - // if b is on opposite hemisphere from a, use -a instead - int bflip; - if (cos_t < 0.0f) - { - cos_t = -cos_t; - bflip = TRUE; - } - else - bflip = FALSE; - - // if B is (within precision limits) the same as A, - // just linear interpolate between A and B. - F32 alpha; // interpolant - F32 beta; // 1 - interpolant - if (1.0f - cos_t < 0.00001f) - { - beta = 1.0f - u; - alpha = u; - } - else - { - F32 theta = acosf(cos_t); - F32 sin_t = sinf(theta); - beta = sinf(theta - u*theta) / sin_t; - alpha = sinf(u*theta) / sin_t; - } - - if (bflip) - beta = -beta; - - // interpolate - LLQuaternion ret; - ret.mQ[0] = beta*a.mQ[0] + alpha*b.mQ[0]; - ret.mQ[1] = beta*a.mQ[1] + alpha*b.mQ[1]; - ret.mQ[2] = beta*a.mQ[2] + alpha*b.mQ[2]; - ret.mQ[3] = beta*a.mQ[3] + alpha*b.mQ[3]; - - return ret; -} - -// lerp whenever possible -LLQuaternion nlerp(F32 t, const LLQuaternion &a, const LLQuaternion &b) -{ - if (dot(a, b) < 0.f) - { - return slerp(t, a, b); - } - else - { - return lerp(t, a, b); - } -} - -LLQuaternion nlerp(F32 t, const LLQuaternion &q) -{ - if (q.mQ[VW] < 0.f) - { - return slerp(t, q); - } - else - { - return lerp(t, q); - } -} - -// slerp from identity quaternion to another quaternion -LLQuaternion slerp(F32 t, const LLQuaternion &q) -{ - F32 c = q.mQ[VW]; - if (1.0f == t || 1.0f == c) - { - // the trivial cases - return q; - } - - LLQuaternion r; - F32 s, angle, stq, stp; - - s = (F32) sqrt(1.f - c*c); - - if (c < 0.0f) - { - // when c < 0.0 then theta > PI/2 - // since quat and -quat are the same rotation we invert one of - // p or q to reduce unecessary spins - // A equivalent way to do it is to convert acos(c) as if it had - // been negative, and to negate stp - angle = (F32) acos(-c); - stp = -(F32) sin(angle * (1.f - t)); - stq = (F32) sin(angle * t); - } - else - { - angle = (F32) acos(c); - stp = (F32) sin(angle * (1.f - t)); - stq = (F32) sin(angle * t); - } - - r.mQ[VX] = (q.mQ[VX] * stq) / s; - r.mQ[VY] = (q.mQ[VY] * stq) / s; - r.mQ[VZ] = (q.mQ[VZ] * stq) / s; - r.mQ[VW] = (stp + q.mQ[VW] * stq) / s; - - return r; -} - -LLQuaternion mayaQ(F32 xRot, F32 yRot, F32 zRot, LLQuaternion::Order order) -{ - LLQuaternion xQ( xRot*DEG_TO_RAD, LLVector3(1.0f, 0.0f, 0.0f) ); - LLQuaternion yQ( yRot*DEG_TO_RAD, LLVector3(0.0f, 1.0f, 0.0f) ); - LLQuaternion zQ( zRot*DEG_TO_RAD, LLVector3(0.0f, 0.0f, 1.0f) ); - LLQuaternion ret; - switch( order ) - { - case LLQuaternion::XYZ: - ret = xQ * yQ * zQ; - break; - case LLQuaternion::YZX: - ret = yQ * zQ * xQ; - break; - case LLQuaternion::ZXY: - ret = zQ * xQ * yQ; - break; - case LLQuaternion::XZY: - ret = xQ * zQ * yQ; - break; - case LLQuaternion::YXZ: - ret = yQ * xQ * zQ; - break; - case LLQuaternion::ZYX: - ret = zQ * yQ * xQ; - break; - } - return ret; -} - -const char *OrderToString( const LLQuaternion::Order order ) -{ - const char *p = NULL; - switch( order ) - { - default: - case LLQuaternion::XYZ: - p = "XYZ"; - break; - case LLQuaternion::YZX: - p = "YZX"; - break; - case LLQuaternion::ZXY: - p = "ZXY"; - break; - case LLQuaternion::XZY: - p = "XZY"; - break; - case LLQuaternion::YXZ: - p = "YXZ"; - break; - case LLQuaternion::ZYX: - p = "ZYX"; - break; - } - return p; -} - -LLQuaternion::Order StringToOrder( const char *str ) -{ - if (strncmp(str, "XYZ", 3)==0 || strncmp(str, "xyz", 3)==0) - return LLQuaternion::XYZ; - - if (strncmp(str, "YZX", 3)==0 || strncmp(str, "yzx", 3)==0) - return LLQuaternion::YZX; - - if (strncmp(str, "ZXY", 3)==0 || strncmp(str, "zxy", 3)==0) - return LLQuaternion::ZXY; - - if (strncmp(str, "XZY", 3)==0 || strncmp(str, "xzy", 3)==0) - return LLQuaternion::XZY; - - if (strncmp(str, "YXZ", 3)==0 || strncmp(str, "yxz", 3)==0) - return LLQuaternion::YXZ; - - if (strncmp(str, "ZYX", 3)==0 || strncmp(str, "zyx", 3)==0) - return LLQuaternion::ZYX; - - return LLQuaternion::XYZ; -} - -void LLQuaternion::getAngleAxis(F32* angle, LLVector3 &vec) const -{ - F32 cos_a = mQ[VW]; - if (cos_a > 1.0f) cos_a = 1.0f; - if (cos_a < -1.0f) cos_a = -1.0f; - - F32 sin_a = (F32) sqrt( 1.0f - cos_a * cos_a ); - - if ( fabs( sin_a ) < 0.0005f ) - sin_a = 1.0f; - else - sin_a = 1.f/sin_a; - - F32 temp_angle = 2.0f * (F32) acos( cos_a ); - if (temp_angle > F_PI) - { - // The (angle,axis) pair should never have angles outside [PI, -PI] - // since we want the _shortest_ (angle,axis) solution. - // Since acos is defined for [0, PI], and we multiply by 2.0, we - // can push the angle outside the acceptible range. - // When this happens we set the angle to the other portion of a - // full 2PI rotation, and negate the axis, which reverses the - // direction of the rotation (by the right-hand rule). - *angle = 2.f * F_PI - temp_angle; - vec.mV[VX] = - mQ[VX] * sin_a; - vec.mV[VY] = - mQ[VY] * sin_a; - vec.mV[VZ] = - mQ[VZ] * sin_a; - } - else - { - *angle = temp_angle; - vec.mV[VX] = mQ[VX] * sin_a; - vec.mV[VY] = mQ[VY] * sin_a; - vec.mV[VZ] = mQ[VZ] * sin_a; - } -} - - -// quaternion does not need to be normalized -void LLQuaternion::getEulerAngles(F32 *roll, F32 *pitch, F32 *yaw) const -{ - LLMatrix3 rot_mat(*this); - rot_mat.orthogonalize(); - rot_mat.getEulerAngles(roll, pitch, yaw); - -// // NOTE: LLQuaternion's are actually inverted with respect to -// // the matrices, so this code also assumes inverted quaternions -// // (-x, -y, -z, w). The result is that roll,pitch,yaw are applied -// // in reverse order (yaw,pitch,roll). -// F32 x = -mQ[VX], y = -mQ[VY], z = -mQ[VZ], w = mQ[VW]; -// F64 m20 = 2.0*(x*z-y*w); -// if (1.0f - fabsf(m20) < F_APPROXIMATELY_ZERO) -// { -// *roll = 0.0f; -// *pitch = (F32)asin(m20); -// *yaw = (F32)atan2(2.0*(x*y-z*w), 1.0 - 2.0*(x*x+z*z)); -// } -// else -// { -// *roll = (F32)atan2(-2.0*(y*z+x*w), 1.0-2.0*(x*x+y*y)); -// *pitch = (F32)asin(m20); -// *yaw = (F32)atan2(-2.0*(x*y+z*w), 1.0-2.0*(y*y+z*z)); -// } -} - -// Saves space by using the fact that our quaternions are normalized -LLVector3 LLQuaternion::packToVector3() const -{ - if( mQ[VW] >= 0 ) - { - return LLVector3( mQ[VX], mQ[VY], mQ[VZ] ); - } - else - { - return LLVector3( -mQ[VX], -mQ[VY], -mQ[VZ] ); - } -} - -// Saves space by using the fact that our quaternions are normalized -void LLQuaternion::unpackFromVector3( const LLVector3& vec ) -{ - mQ[VX] = vec.mV[VX]; - mQ[VY] = vec.mV[VY]; - mQ[VZ] = vec.mV[VZ]; - F32 t = 1.f - vec.magVecSquared(); - if( t > 0 ) - { - mQ[VW] = sqrt( t ); - } - else - { - // Need this to avoid trying to find the square root of a negative number due - // to floating point error. - mQ[VW] = 0; - } -} - -BOOL LLQuaternion::parseQuat(const std::string& buf, LLQuaternion* value) -{ - if( buf.empty() || value == NULL) - { - return FALSE; - } - - LLQuaternion quat; - S32 count = sscanf( buf.c_str(), "%f %f %f %f", quat.mQ + 0, quat.mQ + 1, quat.mQ + 2, quat.mQ + 3 ); - if( 4 == count ) - { - value->set( quat ); - return TRUE; - } - - return FALSE; -} - - -// End +/** + * @file llquaternion.cpp + * @brief LLQuaternion class implementation. + * + * $LicenseInfo:firstyear=2000&license=viewergpl$ + * + * Copyright (c) 2000-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "linden_common.h" + +#include "llmath.h" // for F_PI + +#include "llquaternion.h" + +//#include "vmath.h" +#include "v3math.h" +#include "v3dmath.h" +#include "v4math.h" +#include "m4math.h" +#include "m3math.h" +#include "llquantize.h" + +// WARNING: Don't use this for global const definitions! using this +// at the top of a *.cpp file might not give you what you think. +const LLQuaternion LLQuaternion::DEFAULT; + +// Constructors + +LLQuaternion::LLQuaternion(const LLMatrix4 &mat) +{ + *this = mat.quaternion(); + normalize(); +} + +LLQuaternion::LLQuaternion(const LLMatrix3 &mat) +{ + *this = mat.quaternion(); + normalize(); +} + +LLQuaternion::LLQuaternion(F32 angle, const LLVector4 &vec) +{ + LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); + v.normalize(); + + F32 c, s; + c = cosf(angle*0.5f); + s = sinf(angle*0.5f); + + mQ[VX] = v.mV[VX] * s; + mQ[VY] = v.mV[VY] * s; + mQ[VZ] = v.mV[VZ] * s; + mQ[VW] = c; + normalize(); +} + +LLQuaternion::LLQuaternion(F32 angle, const LLVector3 &vec) +{ + LLVector3 v(vec); + v.normalize(); + + F32 c, s; + c = cosf(angle*0.5f); + s = sinf(angle*0.5f); + + mQ[VX] = v.mV[VX] * s; + mQ[VY] = v.mV[VY] * s; + mQ[VZ] = v.mV[VZ] * s; + mQ[VW] = c; + normalize(); +} + +LLQuaternion::LLQuaternion(const LLVector3 &x_axis, + const LLVector3 &y_axis, + const LLVector3 &z_axis) +{ + LLMatrix3 mat; + mat.setRows(x_axis, y_axis, z_axis); + *this = mat.quaternion(); + normalize(); +} + +// Quatizations +void LLQuaternion::quantize16(F32 lower, F32 upper) +{ + F32 x = mQ[VX]; + F32 y = mQ[VY]; + F32 z = mQ[VZ]; + F32 s = mQ[VS]; + + x = U16_to_F32(F32_to_U16_ROUND(x, lower, upper), lower, upper); + y = U16_to_F32(F32_to_U16_ROUND(y, lower, upper), lower, upper); + z = U16_to_F32(F32_to_U16_ROUND(z, lower, upper), lower, upper); + s = U16_to_F32(F32_to_U16_ROUND(s, lower, upper), lower, upper); + + mQ[VX] = x; + mQ[VY] = y; + mQ[VZ] = z; + mQ[VS] = s; + + normalize(); +} + +void LLQuaternion::quantize8(F32 lower, F32 upper) +{ + mQ[VX] = U8_to_F32(F32_to_U8_ROUND(mQ[VX], lower, upper), lower, upper); + mQ[VY] = U8_to_F32(F32_to_U8_ROUND(mQ[VY], lower, upper), lower, upper); + mQ[VZ] = U8_to_F32(F32_to_U8_ROUND(mQ[VZ], lower, upper), lower, upper); + mQ[VS] = U8_to_F32(F32_to_U8_ROUND(mQ[VS], lower, upper), lower, upper); + + normalize(); +} + +// LLVector3 Magnitude and Normalization Functions + + +// Set LLQuaternion routines + +const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, F32 x, F32 y, F32 z) +{ + LLVector3 vec(x, y, z); + vec.normalize(); + + angle *= 0.5f; + F32 c, s; + c = cosf(angle); + s = sinf(angle); + + mQ[VX] = vec.mV[VX]*s; + mQ[VY] = vec.mV[VY]*s; + mQ[VZ] = vec.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, const LLVector3 &vec) +{ + LLVector3 v(vec); + v.normalize(); + + angle *= 0.5f; + F32 c, s; + c = cosf(angle); + s = sinf(angle); + + mQ[VX] = v.mV[VX]*s; + mQ[VY] = v.mV[VY]*s; + mQ[VZ] = v.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, const LLVector4 &vec) +{ + LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); + v.normalize(); + + F32 c, s; + c = cosf(angle*0.5f); + s = sinf(angle*0.5f); + + mQ[VX] = v.mV[VX]*s; + mQ[VY] = v.mV[VY]*s; + mQ[VZ] = v.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setEulerAngles(F32 roll, F32 pitch, F32 yaw) +{ + LLMatrix3 rot_mat(roll, pitch, yaw); + rot_mat.orthogonalize(); + *this = rot_mat.quaternion(); + + normalize(); + return (*this); +} + +// deprecated +const LLQuaternion& LLQuaternion::set(const LLMatrix3 &mat) +{ + *this = mat.quaternion(); + normalize(); + return (*this); +} + +// deprecated +const LLQuaternion& LLQuaternion::set(const LLMatrix4 &mat) +{ + *this = mat.quaternion(); + normalize(); + return (*this); +} + +// deprecated +const LLQuaternion& LLQuaternion::setQuat(F32 angle, F32 x, F32 y, F32 z) +{ + LLVector3 vec(x, y, z); + vec.normalize(); + + angle *= 0.5f; + F32 c, s; + c = cosf(angle); + s = sinf(angle); + + mQ[VX] = vec.mV[VX]*s; + mQ[VY] = vec.mV[VY]*s; + mQ[VZ] = vec.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +// deprecated +const LLQuaternion& LLQuaternion::setQuat(F32 angle, const LLVector3 &vec) +{ + LLVector3 v(vec); + v.normalize(); + + angle *= 0.5f; + F32 c, s; + c = cosf(angle); + s = sinf(angle); + + mQ[VX] = v.mV[VX]*s; + mQ[VY] = v.mV[VY]*s; + mQ[VZ] = v.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setQuat(F32 angle, const LLVector4 &vec) +{ + LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); + v.normalize(); + + F32 c, s; + c = cosf(angle*0.5f); + s = sinf(angle*0.5f); + + mQ[VX] = v.mV[VX]*s; + mQ[VY] = v.mV[VY]*s; + mQ[VZ] = v.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setQuat(F32 roll, F32 pitch, F32 yaw) +{ + LLMatrix3 rot_mat(roll, pitch, yaw); + rot_mat.orthogonalize(); + *this = rot_mat.quaternion(); + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setQuat(const LLMatrix3 &mat) +{ + *this = mat.quaternion(); + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setQuat(const LLMatrix4 &mat) +{ + *this = mat.quaternion(); + normalize(); + return (*this); +//#if 1 +// // NOTE: LLQuaternion's are actually inverted with respect to +// // the matrices, so this code also assumes inverted quaternions +// // (-x, -y, -z, w). The result is that roll,pitch,yaw are applied +// // in reverse order (yaw,pitch,roll). +// F64 cosX = cos(roll); +// F64 cosY = cos(pitch); +// F64 cosZ = cos(yaw); +// +// F64 sinX = sin(roll); +// F64 sinY = sin(pitch); +// F64 sinZ = sin(yaw); +// +// mQ[VW] = (F32)sqrt(cosY*cosZ - sinX*sinY*sinZ + cosX*cosZ + cosX*cosY + 1.0)*.5; +// if (fabs(mQ[VW]) < F_APPROXIMATELY_ZERO) +// { +// // null rotation, any axis will do +// mQ[VX] = 0.0f; +// mQ[VY] = 1.0f; +// mQ[VZ] = 0.0f; +// } +// else +// { +// F32 inv_s = 1.0f / (4.0f * mQ[VW]); +// mQ[VX] = (F32)-(-sinX*cosY - cosX*sinY*sinZ - sinX*cosZ) * inv_s; +// mQ[VY] = (F32)-(-cosX*sinY*cosZ + sinX*sinZ - sinY) * inv_s; +// mQ[VZ] = (F32)-(-cosY*sinZ - sinX*sinY*cosZ - cosX*sinZ) * inv_s; +// } +// +//#else // This only works on a certain subset of roll/pitch/yaw +// +// F64 cosX = cosf(roll/2.0); +// F64 cosY = cosf(pitch/2.0); +// F64 cosZ = cosf(yaw/2.0); +// +// F64 sinX = sinf(roll/2.0); +// F64 sinY = sinf(pitch/2.0); +// F64 sinZ = sinf(yaw/2.0); +// +// mQ[VW] = (F32)(cosX*cosY*cosZ + sinX*sinY*sinZ); +// mQ[VX] = (F32)(sinX*cosY*cosZ - cosX*sinY*sinZ); +// mQ[VY] = (F32)(cosX*sinY*cosZ + sinX*cosY*sinZ); +// mQ[VZ] = (F32)(cosX*cosY*sinZ - sinX*sinY*cosZ); +//#endif +// +// normalize(); +// return (*this); +} + +// SJB: This code is correct for a logicly stored (non-transposed) matrix; +// Our matrices are stored transposed, OpenGL style, so this generates the +// INVERSE matrix, or the CORRECT matrix form an INVERSE quaternion. +// Because we use similar logic in LLMatrix3::quaternion(), +// we are internally consistant so everything works OK :) +LLMatrix3 LLQuaternion::getMatrix3(void) const +{ + LLMatrix3 mat; + F32 xx, xy, xz, xw, yy, yz, yw, zz, zw; + + xx = mQ[VX] * mQ[VX]; + xy = mQ[VX] * mQ[VY]; + xz = mQ[VX] * mQ[VZ]; + xw = mQ[VX] * mQ[VW]; + + yy = mQ[VY] * mQ[VY]; + yz = mQ[VY] * mQ[VZ]; + yw = mQ[VY] * mQ[VW]; + + zz = mQ[VZ] * mQ[VZ]; + zw = mQ[VZ] * mQ[VW]; + + mat.mMatrix[0][0] = 1.f - 2.f * ( yy + zz ); + mat.mMatrix[0][1] = 2.f * ( xy + zw ); + mat.mMatrix[0][2] = 2.f * ( xz - yw ); + + mat.mMatrix[1][0] = 2.f * ( xy - zw ); + mat.mMatrix[1][1] = 1.f - 2.f * ( xx + zz ); + mat.mMatrix[1][2] = 2.f * ( yz + xw ); + + mat.mMatrix[2][0] = 2.f * ( xz + yw ); + mat.mMatrix[2][1] = 2.f * ( yz - xw ); + mat.mMatrix[2][2] = 1.f - 2.f * ( xx + yy ); + + return mat; +} + +LLMatrix4 LLQuaternion::getMatrix4(void) const +{ + LLMatrix4 mat; + F32 xx, xy, xz, xw, yy, yz, yw, zz, zw; + + xx = mQ[VX] * mQ[VX]; + xy = mQ[VX] * mQ[VY]; + xz = mQ[VX] * mQ[VZ]; + xw = mQ[VX] * mQ[VW]; + + yy = mQ[VY] * mQ[VY]; + yz = mQ[VY] * mQ[VZ]; + yw = mQ[VY] * mQ[VW]; + + zz = mQ[VZ] * mQ[VZ]; + zw = mQ[VZ] * mQ[VW]; + + mat.mMatrix[0][0] = 1.f - 2.f * ( yy + zz ); + mat.mMatrix[0][1] = 2.f * ( xy + zw ); + mat.mMatrix[0][2] = 2.f * ( xz - yw ); + + mat.mMatrix[1][0] = 2.f * ( xy - zw ); + mat.mMatrix[1][1] = 1.f - 2.f * ( xx + zz ); + mat.mMatrix[1][2] = 2.f * ( yz + xw ); + + mat.mMatrix[2][0] = 2.f * ( xz + yw ); + mat.mMatrix[2][1] = 2.f * ( yz - xw ); + mat.mMatrix[2][2] = 1.f - 2.f * ( xx + yy ); + + // TODO -- should we set the translation portion to zero? + + return mat; +} + + + + +// Other useful methods + + +// calculate the shortest rotation from a to b +void LLQuaternion::shortestArc(const LLVector3 &a, const LLVector3 &b) +{ + // Make a local copy of both vectors. + LLVector3 vec_a = a; + LLVector3 vec_b = b; + + // Make sure neither vector is zero length. Also normalize + // the vectors while we are at it. + F32 vec_a_mag = vec_a.normalize(); + F32 vec_b_mag = vec_b.normalize(); + if (vec_a_mag < F_APPROXIMATELY_ZERO || + vec_b_mag < F_APPROXIMATELY_ZERO) + { + // Can't calculate a rotation from this. + // Just return ZERO_ROTATION instead. + loadIdentity(); + return; + } + + // Create an axis to rotate around, and the cos of the angle to rotate. + LLVector3 axis = vec_a % vec_b; + F32 cos_theta = vec_a * vec_b; + + // Check the angle between the vectors to see if they are parallel or anti-parallel. + if (cos_theta > 1.0 - F_APPROXIMATELY_ZERO) + { + // a and b are parallel. No rotation is necessary. + loadIdentity(); + } + else if (cos_theta < -1.0 + F_APPROXIMATELY_ZERO) + { + // a and b are anti-parallel. + // Rotate 180 degrees around some orthogonal axis. + // Find the projection of the x-axis onto a, and try + // using the vector between the projection and the x-axis + // as the orthogonal axis. + LLVector3 proj = vec_a.mV[VX] / (vec_a * vec_a) * vec_a; + LLVector3 ortho_axis(1.f, 0.f, 0.f); + ortho_axis -= proj; + + // Turn this into an orthonormal axis. + F32 ortho_length = ortho_axis.normalize(); + // If the axis' length is 0, then our guess at an orthogonal axis + // was wrong (a is parallel to the x-axis). + if (ortho_length < F_APPROXIMATELY_ZERO) + { + // Use the z-axis instead. + ortho_axis.setVec(0.f, 0.f, 1.f); + } + + // Construct a quaternion from this orthonormal axis. + mQ[VX] = ortho_axis.mV[VX]; + mQ[VY] = ortho_axis.mV[VY]; + mQ[VZ] = ortho_axis.mV[VZ]; + mQ[VW] = 0.f; + } + else + { + // a and b are NOT parallel or anti-parallel. + // Return the rotation between these vectors. + F32 theta = (F32)acos(cos_theta); + + setAngleAxis(theta, axis); + } +} + +// constrains rotation to a cone angle specified in radians +const LLQuaternion &LLQuaternion::constrain(F32 radians) +{ + const F32 cos_angle_lim = cosf( radians/2 ); // mQ[VW] limit + const F32 sin_angle_lim = sinf( radians/2 ); // rotation axis length limit + + if (mQ[VW] < 0.f) + { + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + mQ[VW] *= -1.f; + } + + // if rotation angle is greater than limit (cos is less than limit) + if( mQ[VW] < cos_angle_lim ) + { + mQ[VW] = cos_angle_lim; + F32 axis_len = sqrtf( mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] ); // sin(theta/2) + F32 axis_mult_fact = sin_angle_lim / axis_len; + mQ[VX] *= axis_mult_fact; + mQ[VY] *= axis_mult_fact; + mQ[VZ] *= axis_mult_fact; + } + + return *this; +} + +// Operators + +std::ostream& operator<<(std::ostream &s, const LLQuaternion &a) +{ + s << "{ " + << a.mQ[VX] << ", " << a.mQ[VY] << ", " << a.mQ[VZ] << ", " << a.mQ[VW] + << " }"; + return s; +} + + +// Does NOT renormalize the result +LLQuaternion operator*(const LLQuaternion &a, const LLQuaternion &b) +{ +// LLQuaternion::mMultCount++; + + LLQuaternion q( + b.mQ[3] * a.mQ[0] + b.mQ[0] * a.mQ[3] + b.mQ[1] * a.mQ[2] - b.mQ[2] * a.mQ[1], + b.mQ[3] * a.mQ[1] + b.mQ[1] * a.mQ[3] + b.mQ[2] * a.mQ[0] - b.mQ[0] * a.mQ[2], + b.mQ[3] * a.mQ[2] + b.mQ[2] * a.mQ[3] + b.mQ[0] * a.mQ[1] - b.mQ[1] * a.mQ[0], + b.mQ[3] * a.mQ[3] - b.mQ[0] * a.mQ[0] - b.mQ[1] * a.mQ[1] - b.mQ[2] * a.mQ[2] + ); + return q; +} + +/* +LLMatrix4 operator*(const LLMatrix4 &m, const LLQuaternion &q) +{ + LLMatrix4 qmat(q); + return (m*qmat); +} +*/ + + + +LLVector4 operator*(const LLVector4 &a, const LLQuaternion &rot) +{ + F32 rw = - rot.mQ[VX] * a.mV[VX] - rot.mQ[VY] * a.mV[VY] - rot.mQ[VZ] * a.mV[VZ]; + F32 rx = rot.mQ[VW] * a.mV[VX] + rot.mQ[VY] * a.mV[VZ] - rot.mQ[VZ] * a.mV[VY]; + F32 ry = rot.mQ[VW] * a.mV[VY] + rot.mQ[VZ] * a.mV[VX] - rot.mQ[VX] * a.mV[VZ]; + F32 rz = rot.mQ[VW] * a.mV[VZ] + rot.mQ[VX] * a.mV[VY] - rot.mQ[VY] * a.mV[VX]; + + F32 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; + F32 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; + F32 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; + + return LLVector4(nx, ny, nz, a.mV[VW]); +} + +LLVector3 operator*(const LLVector3 &a, const LLQuaternion &rot) +{ + F32 rw = - rot.mQ[VX] * a.mV[VX] - rot.mQ[VY] * a.mV[VY] - rot.mQ[VZ] * a.mV[VZ]; + F32 rx = rot.mQ[VW] * a.mV[VX] + rot.mQ[VY] * a.mV[VZ] - rot.mQ[VZ] * a.mV[VY]; + F32 ry = rot.mQ[VW] * a.mV[VY] + rot.mQ[VZ] * a.mV[VX] - rot.mQ[VX] * a.mV[VZ]; + F32 rz = rot.mQ[VW] * a.mV[VZ] + rot.mQ[VX] * a.mV[VY] - rot.mQ[VY] * a.mV[VX]; + + F32 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; + F32 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; + F32 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; + + return LLVector3(nx, ny, nz); +} + +LLVector3d operator*(const LLVector3d &a, const LLQuaternion &rot) +{ + F64 rw = - rot.mQ[VX] * a.mdV[VX] - rot.mQ[VY] * a.mdV[VY] - rot.mQ[VZ] * a.mdV[VZ]; + F64 rx = rot.mQ[VW] * a.mdV[VX] + rot.mQ[VY] * a.mdV[VZ] - rot.mQ[VZ] * a.mdV[VY]; + F64 ry = rot.mQ[VW] * a.mdV[VY] + rot.mQ[VZ] * a.mdV[VX] - rot.mQ[VX] * a.mdV[VZ]; + F64 rz = rot.mQ[VW] * a.mdV[VZ] + rot.mQ[VX] * a.mdV[VY] - rot.mQ[VY] * a.mdV[VX]; + + F64 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; + F64 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; + F64 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; + + return LLVector3d(nx, ny, nz); +} + +F32 dot(const LLQuaternion &a, const LLQuaternion &b) +{ + return a.mQ[VX] * b.mQ[VX] + + a.mQ[VY] * b.mQ[VY] + + a.mQ[VZ] * b.mQ[VZ] + + a.mQ[VW] * b.mQ[VW]; +} + +// DEMO HACK: This lerp is probably inocrrect now due intermediate normalization +// it should look more like the lerp below +#if 0 +// linear interpolation +LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q) +{ + LLQuaternion r; + r = t * (q - p) + p; + r.normalize(); + return r; +} +#endif + +// lerp from identity to q +LLQuaternion lerp(F32 t, const LLQuaternion &q) +{ + LLQuaternion r; + r.mQ[VX] = t * q.mQ[VX]; + r.mQ[VY] = t * q.mQ[VY]; + r.mQ[VZ] = t * q.mQ[VZ]; + r.mQ[VW] = t * (q.mQ[VZ] - 1.f) + 1.f; + r.normalize(); + return r; +} + +LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q) +{ + LLQuaternion r; + F32 inv_t; + + inv_t = 1.f - t; + + r.mQ[VX] = t * q.mQ[VX] + (inv_t * p.mQ[VX]); + r.mQ[VY] = t * q.mQ[VY] + (inv_t * p.mQ[VY]); + r.mQ[VZ] = t * q.mQ[VZ] + (inv_t * p.mQ[VZ]); + r.mQ[VW] = t * q.mQ[VW] + (inv_t * p.mQ[VW]); + r.normalize(); + return r; +} + + +// spherical linear interpolation +LLQuaternion slerp( F32 u, const LLQuaternion &a, const LLQuaternion &b ) +{ + // cosine theta = dot product of a and b + F32 cos_t = a.mQ[0]*b.mQ[0] + a.mQ[1]*b.mQ[1] + a.mQ[2]*b.mQ[2] + a.mQ[3]*b.mQ[3]; + + // if b is on opposite hemisphere from a, use -a instead + int bflip; + if (cos_t < 0.0f) + { + cos_t = -cos_t; + bflip = TRUE; + } + else + bflip = FALSE; + + // if B is (within precision limits) the same as A, + // just linear interpolate between A and B. + F32 alpha; // interpolant + F32 beta; // 1 - interpolant + if (1.0f - cos_t < 0.00001f) + { + beta = 1.0f - u; + alpha = u; + } + else + { + F32 theta = acosf(cos_t); + F32 sin_t = sinf(theta); + beta = sinf(theta - u*theta) / sin_t; + alpha = sinf(u*theta) / sin_t; + } + + if (bflip) + beta = -beta; + + // interpolate + LLQuaternion ret; + ret.mQ[0] = beta*a.mQ[0] + alpha*b.mQ[0]; + ret.mQ[1] = beta*a.mQ[1] + alpha*b.mQ[1]; + ret.mQ[2] = beta*a.mQ[2] + alpha*b.mQ[2]; + ret.mQ[3] = beta*a.mQ[3] + alpha*b.mQ[3]; + + return ret; +} + +// lerp whenever possible +LLQuaternion nlerp(F32 t, const LLQuaternion &a, const LLQuaternion &b) +{ + if (dot(a, b) < 0.f) + { + return slerp(t, a, b); + } + else + { + return lerp(t, a, b); + } +} + +LLQuaternion nlerp(F32 t, const LLQuaternion &q) +{ + if (q.mQ[VW] < 0.f) + { + return slerp(t, q); + } + else + { + return lerp(t, q); + } +} + +// slerp from identity quaternion to another quaternion +LLQuaternion slerp(F32 t, const LLQuaternion &q) +{ + F32 c = q.mQ[VW]; + if (1.0f == t || 1.0f == c) + { + // the trivial cases + return q; + } + + LLQuaternion r; + F32 s, angle, stq, stp; + + s = (F32) sqrt(1.f - c*c); + + if (c < 0.0f) + { + // when c < 0.0 then theta > PI/2 + // since quat and -quat are the same rotation we invert one of + // p or q to reduce unecessary spins + // A equivalent way to do it is to convert acos(c) as if it had + // been negative, and to negate stp + angle = (F32) acos(-c); + stp = -(F32) sin(angle * (1.f - t)); + stq = (F32) sin(angle * t); + } + else + { + angle = (F32) acos(c); + stp = (F32) sin(angle * (1.f - t)); + stq = (F32) sin(angle * t); + } + + r.mQ[VX] = (q.mQ[VX] * stq) / s; + r.mQ[VY] = (q.mQ[VY] * stq) / s; + r.mQ[VZ] = (q.mQ[VZ] * stq) / s; + r.mQ[VW] = (stp + q.mQ[VW] * stq) / s; + + return r; +} + +LLQuaternion mayaQ(F32 xRot, F32 yRot, F32 zRot, LLQuaternion::Order order) +{ + LLQuaternion xQ( xRot*DEG_TO_RAD, LLVector3(1.0f, 0.0f, 0.0f) ); + LLQuaternion yQ( yRot*DEG_TO_RAD, LLVector3(0.0f, 1.0f, 0.0f) ); + LLQuaternion zQ( zRot*DEG_TO_RAD, LLVector3(0.0f, 0.0f, 1.0f) ); + LLQuaternion ret; + switch( order ) + { + case LLQuaternion::XYZ: + ret = xQ * yQ * zQ; + break; + case LLQuaternion::YZX: + ret = yQ * zQ * xQ; + break; + case LLQuaternion::ZXY: + ret = zQ * xQ * yQ; + break; + case LLQuaternion::XZY: + ret = xQ * zQ * yQ; + break; + case LLQuaternion::YXZ: + ret = yQ * xQ * zQ; + break; + case LLQuaternion::ZYX: + ret = zQ * yQ * xQ; + break; + } + return ret; +} + +const char *OrderToString( const LLQuaternion::Order order ) +{ + const char *p = NULL; + switch( order ) + { + default: + case LLQuaternion::XYZ: + p = "XYZ"; + break; + case LLQuaternion::YZX: + p = "YZX"; + break; + case LLQuaternion::ZXY: + p = "ZXY"; + break; + case LLQuaternion::XZY: + p = "XZY"; + break; + case LLQuaternion::YXZ: + p = "YXZ"; + break; + case LLQuaternion::ZYX: + p = "ZYX"; + break; + } + return p; +} + +LLQuaternion::Order StringToOrder( const char *str ) +{ + if (strncmp(str, "XYZ", 3)==0 || strncmp(str, "xyz", 3)==0) + return LLQuaternion::XYZ; + + if (strncmp(str, "YZX", 3)==0 || strncmp(str, "yzx", 3)==0) + return LLQuaternion::YZX; + + if (strncmp(str, "ZXY", 3)==0 || strncmp(str, "zxy", 3)==0) + return LLQuaternion::ZXY; + + if (strncmp(str, "XZY", 3)==0 || strncmp(str, "xzy", 3)==0) + return LLQuaternion::XZY; + + if (strncmp(str, "YXZ", 3)==0 || strncmp(str, "yxz", 3)==0) + return LLQuaternion::YXZ; + + if (strncmp(str, "ZYX", 3)==0 || strncmp(str, "zyx", 3)==0) + return LLQuaternion::ZYX; + + return LLQuaternion::XYZ; +} + +void LLQuaternion::getAngleAxis(F32* angle, LLVector3 &vec) const +{ + F32 cos_a = mQ[VW]; + if (cos_a > 1.0f) cos_a = 1.0f; + if (cos_a < -1.0f) cos_a = -1.0f; + + F32 sin_a = (F32) sqrt( 1.0f - cos_a * cos_a ); + + if ( fabs( sin_a ) < 0.0005f ) + sin_a = 1.0f; + else + sin_a = 1.f/sin_a; + + F32 temp_angle = 2.0f * (F32) acos( cos_a ); + if (temp_angle > F_PI) + { + // The (angle,axis) pair should never have angles outside [PI, -PI] + // since we want the _shortest_ (angle,axis) solution. + // Since acos is defined for [0, PI], and we multiply by 2.0, we + // can push the angle outside the acceptible range. + // When this happens we set the angle to the other portion of a + // full 2PI rotation, and negate the axis, which reverses the + // direction of the rotation (by the right-hand rule). + *angle = 2.f * F_PI - temp_angle; + vec.mV[VX] = - mQ[VX] * sin_a; + vec.mV[VY] = - mQ[VY] * sin_a; + vec.mV[VZ] = - mQ[VZ] * sin_a; + } + else + { + *angle = temp_angle; + vec.mV[VX] = mQ[VX] * sin_a; + vec.mV[VY] = mQ[VY] * sin_a; + vec.mV[VZ] = mQ[VZ] * sin_a; + } +} + + +// quaternion does not need to be normalized +void LLQuaternion::getEulerAngles(F32 *roll, F32 *pitch, F32 *yaw) const +{ + LLMatrix3 rot_mat(*this); + rot_mat.orthogonalize(); + rot_mat.getEulerAngles(roll, pitch, yaw); + +// // NOTE: LLQuaternion's are actually inverted with respect to +// // the matrices, so this code also assumes inverted quaternions +// // (-x, -y, -z, w). The result is that roll,pitch,yaw are applied +// // in reverse order (yaw,pitch,roll). +// F32 x = -mQ[VX], y = -mQ[VY], z = -mQ[VZ], w = mQ[VW]; +// F64 m20 = 2.0*(x*z-y*w); +// if (1.0f - fabsf(m20) < F_APPROXIMATELY_ZERO) +// { +// *roll = 0.0f; +// *pitch = (F32)asin(m20); +// *yaw = (F32)atan2(2.0*(x*y-z*w), 1.0 - 2.0*(x*x+z*z)); +// } +// else +// { +// *roll = (F32)atan2(-2.0*(y*z+x*w), 1.0-2.0*(x*x+y*y)); +// *pitch = (F32)asin(m20); +// *yaw = (F32)atan2(-2.0*(x*y+z*w), 1.0-2.0*(y*y+z*z)); +// } +} + +// Saves space by using the fact that our quaternions are normalized +LLVector3 LLQuaternion::packToVector3() const +{ + if( mQ[VW] >= 0 ) + { + return LLVector3( mQ[VX], mQ[VY], mQ[VZ] ); + } + else + { + return LLVector3( -mQ[VX], -mQ[VY], -mQ[VZ] ); + } +} + +// Saves space by using the fact that our quaternions are normalized +void LLQuaternion::unpackFromVector3( const LLVector3& vec ) +{ + mQ[VX] = vec.mV[VX]; + mQ[VY] = vec.mV[VY]; + mQ[VZ] = vec.mV[VZ]; + F32 t = 1.f - vec.magVecSquared(); + if( t > 0 ) + { + mQ[VW] = sqrt( t ); + } + else + { + // Need this to avoid trying to find the square root of a negative number due + // to floating point error. + mQ[VW] = 0; + } +} + +BOOL LLQuaternion::parseQuat(const std::string& buf, LLQuaternion* value) +{ + if( buf.empty() || value == NULL) + { + return FALSE; + } + + LLQuaternion quat; + S32 count = sscanf( buf.c_str(), "%f %f %f %f", quat.mQ + 0, quat.mQ + 1, quat.mQ + 2, quat.mQ + 3 ); + if( 4 == count ) + { + value->set( quat ); + return TRUE; + } + + return FALSE; +} + + +// End diff --git a/indra/llmath/llquaternion.h b/indra/llmath/llquaternion.h index 0769f29f23..bbd4326483 100644 --- a/indra/llmath/llquaternion.h +++ b/indra/llmath/llquaternion.h @@ -1,590 +1,594 @@ -/** - * @file llquaternion.h - * @brief LLQuaternion class header file. - * - * $LicenseInfo:firstyear=2000&license=viewergpl$ - * - * Copyright (c) 2000-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#ifndef LLQUATERNION_H -#define LLQUATERNION_H - -#include "llmath.h" - -class LLVector4; -class LLVector3; -class LLVector3d; -class LLMatrix4; -class LLMatrix3; - -// NOTA BENE: Quaternion code is written assuming Unit Quaternions!!!! -// Moreover, it is written assuming that all vectors and matricies -// passed as arguments are normalized and unitary respectively. -// VERY VERY VERY VERY BAD THINGS will happen if these assumptions fail. - -static const U32 LENGTHOFQUAT = 4; - -class LLQuaternion -{ -public: - F32 mQ[LENGTHOFQUAT]; - - static const LLQuaternion DEFAULT; - - LLQuaternion(); // Initializes Quaternion to (0,0,0,1) - explicit LLQuaternion(const LLMatrix4 &mat); // Initializes Quaternion from Matrix4 - explicit LLQuaternion(const LLMatrix3 &mat); // Initializes Quaternion from Matrix3 - LLQuaternion(F32 x, F32 y, F32 z, F32 w); // Initializes Quaternion to normalize(x, y, z, w) - LLQuaternion(F32 angle, const LLVector4 &vec); // Initializes Quaternion to axis_angle2quat(angle, vec) - LLQuaternion(F32 angle, const LLVector3 &vec); // Initializes Quaternion to axis_angle2quat(angle, vec) - LLQuaternion(const F32 *q); // Initializes Quaternion to normalize(x, y, z, w) - LLQuaternion(const LLVector3 &x_axis, - const LLVector3 &y_axis, - const LLVector3 &z_axis); // Initializes Quaternion from Matrix3 = [x_axis ; y_axis ; z_axis] - - BOOL isIdentity() const; - BOOL isNotIdentity() const; - BOOL isFinite() const; // checks to see if all values of LLQuaternion are finite - void quantize16(F32 lower, F32 upper); // changes the vector to reflect quatization - void quantize8(F32 lower, F32 upper); // changes the vector to reflect quatization - void loadIdentity(); // Loads the quaternion that represents the identity rotation - - const LLQuaternion& set(F32 x, F32 y, F32 z, F32 w); // Sets Quaternion to normalize(x, y, z, w) - const LLQuaternion& set(const LLQuaternion &quat); // Copies Quaternion - const LLQuaternion& set(const F32 *q); // Sets Quaternion to normalize(quat[VX], quat[VY], quat[VZ], quat[VW]) - const LLQuaternion& set(const LLMatrix3 &mat); // Sets Quaternion to mat2quat(mat) - const LLQuaternion& set(const LLMatrix4 &mat); // Sets Quaternion to mat2quat(mat) - - const LLQuaternion& setAngleAxis(F32 angle, F32 x, F32 y, F32 z); // Sets Quaternion to axis_angle2quat(angle, x, y, z) - const LLQuaternion& setAngleAxis(F32 angle, const LLVector3 &vec); // Sets Quaternion to axis_angle2quat(angle, vec) - const LLQuaternion& setAngleAxis(F32 angle, const LLVector4 &vec); // Sets Quaternion to axis_angle2quat(angle, vec) - const LLQuaternion& setEulerAngles(F32 roll, F32 pitch, F32 yaw); // Sets Quaternion to euler2quat(pitch, yaw, roll) - - const LLQuaternion& setQuatInit(F32 x, F32 y, F32 z, F32 w); // deprecated - const LLQuaternion& setQuat(const LLQuaternion &quat); // deprecated - const LLQuaternion& setQuat(const F32 *q); // deprecated - const LLQuaternion& setQuat(const LLMatrix3 &mat); // deprecated - const LLQuaternion& setQuat(const LLMatrix4 &mat); // deprecated - const LLQuaternion& setQuat(F32 angle, F32 x, F32 y, F32 z); // deprecated - const LLQuaternion& setQuat(F32 angle, const LLVector3 &vec); // deprecated - const LLQuaternion& setQuat(F32 angle, const LLVector4 &vec); // deprecated - const LLQuaternion& setQuat(F32 roll, F32 pitch, F32 yaw); // deprecated - - LLMatrix4 getMatrix4(void) const; // Returns the Matrix4 equivalent of Quaternion - LLMatrix3 getMatrix3(void) const; // Returns the Matrix3 equivalent of Quaternion - void getAngleAxis(F32* angle, F32* x, F32* y, F32* z) const; // returns rotation in radians about axis x,y,z - void getAngleAxis(F32* angle, LLVector3 &vec) const; - void getEulerAngles(F32 *roll, F32* pitch, F32 *yaw) const; - - F32 normalize(); // Normalizes Quaternion and returns magnitude - F32 normQuat(); // deprecated - - const LLQuaternion& conjugate(void); // Conjugates Quaternion and returns result - const LLQuaternion& conjQuat(void); // deprecated - - // Other useful methods - const LLQuaternion& transpose(); // transpose (same as conjugate) - const LLQuaternion& transQuat(); // deprecated - - void shortestArc(const LLVector3 &a, const LLVector3 &b); // shortest rotation from a to b - const LLQuaternion& constrain(F32 radians); // constrains rotation to a cone angle specified in radians - - // Standard operators - friend std::ostream& operator<<(std::ostream &s, const LLQuaternion &a); // Prints a - friend LLQuaternion operator+(const LLQuaternion &a, const LLQuaternion &b); // Addition - friend LLQuaternion operator-(const LLQuaternion &a, const LLQuaternion &b); // Subtraction - friend LLQuaternion operator-(const LLQuaternion &a); // Negation - friend LLQuaternion operator*(F32 a, const LLQuaternion &q); // Scale - friend LLQuaternion operator*(const LLQuaternion &q, F32 b); // Scale - friend LLQuaternion operator*(const LLQuaternion &a, const LLQuaternion &b); // Returns a * b - friend LLQuaternion operator~(const LLQuaternion &a); // Returns a* (Conjugate of a) - bool operator==(const LLQuaternion &b) const; // Returns a == b - bool operator!=(const LLQuaternion &b) const; // Returns a != b - - friend const LLQuaternion& operator*=(LLQuaternion &a, const LLQuaternion &b); // Returns a * b - - friend LLVector4 operator*(const LLVector4 &a, const LLQuaternion &rot); // Rotates a by rot - friend LLVector3 operator*(const LLVector3 &a, const LLQuaternion &rot); // Rotates a by rot - friend LLVector3d operator*(const LLVector3d &a, const LLQuaternion &rot); // Rotates a by rot - - // Non-standard operators - friend F32 dot(const LLQuaternion &a, const LLQuaternion &b); - friend LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // linear interpolation (t = 0 to 1) from p to q - friend LLQuaternion lerp(F32 t, const LLQuaternion &q); // linear interpolation (t = 0 to 1) from identity to q - friend LLQuaternion slerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // spherical linear interpolation from p to q - friend LLQuaternion slerp(F32 t, const LLQuaternion &q); // spherical linear interpolation from identity to q - friend LLQuaternion nlerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // normalized linear interpolation from p to q - friend LLQuaternion nlerp(F32 t, const LLQuaternion &q); // normalized linear interpolation from p to q - - LLVector3 packToVector3() const; // Saves space by using the fact that our quaternions are normalized - void unpackFromVector3(const LLVector3& vec); // Saves space by using the fact that our quaternions are normalized - - enum Order { - XYZ = 0, - YZX = 1, - ZXY = 2, - XZY = 3, - YXZ = 4, - ZYX = 5 - }; - // Creates a quaternions from maya's rotation representation, - // which is 3 rotations (in DEGREES) in the specified order - friend LLQuaternion mayaQ(F32 x, F32 y, F32 z, Order order); - - // Conversions between Order and strings like "xyz" or "ZYX" - friend const char *OrderToString( const Order order ); - friend Order StringToOrder( const char *str ); - - static BOOL parseQuat(const std::string& buf, LLQuaternion* value); - - // For debugging, only - //static U32 mMultCount; -}; - -// checker -inline BOOL LLQuaternion::isFinite() const -{ - return (llfinite(mQ[VX]) && llfinite(mQ[VY]) && llfinite(mQ[VZ]) && llfinite(mQ[VS])); -} - -inline BOOL LLQuaternion::isIdentity() const -{ - return - ( mQ[VX] == 0.f ) && - ( mQ[VY] == 0.f ) && - ( mQ[VZ] == 0.f ) && - ( mQ[VS] == 1.f ); -} - -inline BOOL LLQuaternion::isNotIdentity() const -{ - return - ( mQ[VX] != 0.f ) || - ( mQ[VY] != 0.f ) || - ( mQ[VZ] != 0.f ) || - ( mQ[VS] != 1.f ); -} - - - -inline LLQuaternion::LLQuaternion(void) -{ - mQ[VX] = 0.f; - mQ[VY] = 0.f; - mQ[VZ] = 0.f; - mQ[VS] = 1.f; -} - -inline LLQuaternion::LLQuaternion(F32 x, F32 y, F32 z, F32 w) -{ - mQ[VX] = x; - mQ[VY] = y; - mQ[VZ] = z; - mQ[VS] = w; - - //RN: don't normalize this case as its used mainly for temporaries during calculations - //normalize(); - /* - F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); - mag -= 1.f; - mag = fabs(mag); - llassert(mag < 10.f*FP_MAG_THRESHOLD); - */ -} - -inline LLQuaternion::LLQuaternion(const F32 *q) -{ - mQ[VX] = q[VX]; - mQ[VY] = q[VY]; - mQ[VZ] = q[VZ]; - mQ[VS] = q[VW]; - - normalize(); - /* - F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); - mag -= 1.f; - mag = fabs(mag); - llassert(mag < FP_MAG_THRESHOLD); - */ -} - - -inline void LLQuaternion::loadIdentity() -{ - mQ[VX] = 0.0f; - mQ[VY] = 0.0f; - mQ[VZ] = 0.0f; - mQ[VW] = 1.0f; -} - - -inline const LLQuaternion& LLQuaternion::set(F32 x, F32 y, F32 z, F32 w) -{ - mQ[VX] = x; - mQ[VY] = y; - mQ[VZ] = z; - mQ[VS] = w; - normalize(); - return (*this); -} - -inline const LLQuaternion& LLQuaternion::set(const LLQuaternion &quat) -{ - mQ[VX] = quat.mQ[VX]; - mQ[VY] = quat.mQ[VY]; - mQ[VZ] = quat.mQ[VZ]; - mQ[VW] = quat.mQ[VW]; - normalize(); - return (*this); -} - -inline const LLQuaternion& LLQuaternion::set(const F32 *q) -{ - mQ[VX] = q[VX]; - mQ[VY] = q[VY]; - mQ[VZ] = q[VZ]; - mQ[VS] = q[VW]; - normalize(); - return (*this); -} - - -// deprecated -inline const LLQuaternion& LLQuaternion::setQuatInit(F32 x, F32 y, F32 z, F32 w) -{ - mQ[VX] = x; - mQ[VY] = y; - mQ[VZ] = z; - mQ[VS] = w; - normalize(); - return (*this); -} - -// deprecated -inline const LLQuaternion& LLQuaternion::setQuat(const LLQuaternion &quat) -{ - mQ[VX] = quat.mQ[VX]; - mQ[VY] = quat.mQ[VY]; - mQ[VZ] = quat.mQ[VZ]; - mQ[VW] = quat.mQ[VW]; - normalize(); - return (*this); -} - -// deprecated -inline const LLQuaternion& LLQuaternion::setQuat(const F32 *q) -{ - mQ[VX] = q[VX]; - mQ[VY] = q[VY]; - mQ[VZ] = q[VZ]; - mQ[VS] = q[VW]; - normalize(); - return (*this); -} - -// There may be a cheaper way that avoids the sqrt. -// Does sin_a = VX*VX + VY*VY + VZ*VZ? -// Copied from Matrix and Quaternion FAQ 1.12 -inline void LLQuaternion::getAngleAxis(F32* angle, F32* x, F32* y, F32* z) const -{ - F32 cos_a = mQ[VW]; - if (cos_a > 1.0f) cos_a = 1.0f; - if (cos_a < -1.0f) cos_a = -1.0f; - - F32 sin_a = (F32) sqrt( 1.0f - cos_a * cos_a ); - - if ( fabs( sin_a ) < 0.0005f ) - sin_a = 1.0f; - else - sin_a = 1.f/sin_a; - - F32 temp_angle = 2.0f * (F32) acos( cos_a ); - if (temp_angle > F_PI) - { - // The (angle,axis) pair should never have angles outside [PI, -PI] - // since we want the _shortest_ (angle,axis) solution. - // Since acos is defined for [0, PI], and we multiply by 2.0, we - // can push the angle outside the acceptible range. - // When this happens we set the angle to the other portion of a - // full 2PI rotation, and negate the axis, which reverses the - // direction of the rotation (by the right-hand rule). - *angle = 2.f * F_PI - temp_angle; - *x = - mQ[VX] * sin_a; - *y = - mQ[VY] * sin_a; - *z = - mQ[VZ] * sin_a; - } - else - { - *angle = temp_angle; - *x = mQ[VX] * sin_a; - *y = mQ[VY] * sin_a; - *z = mQ[VZ] * sin_a; - } -} - -inline const LLQuaternion& LLQuaternion::conjugate() -{ - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - return (*this); -} - -inline const LLQuaternion& LLQuaternion::conjQuat() -{ - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - return (*this); -} - -// Transpose -inline const LLQuaternion& LLQuaternion::transpose() -{ - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - return (*this); -} - -// deprecated -inline const LLQuaternion& LLQuaternion::transQuat() -{ - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - return (*this); -} - - -inline LLQuaternion operator+(const LLQuaternion &a, const LLQuaternion &b) -{ - return LLQuaternion( - a.mQ[VX] + b.mQ[VX], - a.mQ[VY] + b.mQ[VY], - a.mQ[VZ] + b.mQ[VZ], - a.mQ[VW] + b.mQ[VW] ); -} - - -inline LLQuaternion operator-(const LLQuaternion &a, const LLQuaternion &b) -{ - return LLQuaternion( - a.mQ[VX] - b.mQ[VX], - a.mQ[VY] - b.mQ[VY], - a.mQ[VZ] - b.mQ[VZ], - a.mQ[VW] - b.mQ[VW] ); -} - - -inline LLQuaternion operator-(const LLQuaternion &a) -{ - return LLQuaternion( - -a.mQ[VX], - -a.mQ[VY], - -a.mQ[VZ], - -a.mQ[VW] ); -} - - -inline LLQuaternion operator*(F32 a, const LLQuaternion &q) -{ - return LLQuaternion( - a * q.mQ[VX], - a * q.mQ[VY], - a * q.mQ[VZ], - a * q.mQ[VW] ); -} - - -inline LLQuaternion operator*(const LLQuaternion &q, F32 a) -{ - return LLQuaternion( - a * q.mQ[VX], - a * q.mQ[VY], - a * q.mQ[VZ], - a * q.mQ[VW] ); -} - -inline LLQuaternion operator~(const LLQuaternion &a) -{ - LLQuaternion q(a); - q.conjQuat(); - return q; -} - -inline bool LLQuaternion::operator==(const LLQuaternion &b) const -{ - return ( (mQ[VX] == b.mQ[VX]) - &&(mQ[VY] == b.mQ[VY]) - &&(mQ[VZ] == b.mQ[VZ]) - &&(mQ[VS] == b.mQ[VS])); -} - -inline bool LLQuaternion::operator!=(const LLQuaternion &b) const -{ - return ( (mQ[VX] != b.mQ[VX]) - ||(mQ[VY] != b.mQ[VY]) - ||(mQ[VZ] != b.mQ[VZ]) - ||(mQ[VS] != b.mQ[VS])); -} - -inline const LLQuaternion& operator*=(LLQuaternion &a, const LLQuaternion &b) -{ -#if 1 - LLQuaternion q( - b.mQ[3] * a.mQ[0] + b.mQ[0] * a.mQ[3] + b.mQ[1] * a.mQ[2] - b.mQ[2] * a.mQ[1], - b.mQ[3] * a.mQ[1] + b.mQ[1] * a.mQ[3] + b.mQ[2] * a.mQ[0] - b.mQ[0] * a.mQ[2], - b.mQ[3] * a.mQ[2] + b.mQ[2] * a.mQ[3] + b.mQ[0] * a.mQ[1] - b.mQ[1] * a.mQ[0], - b.mQ[3] * a.mQ[3] - b.mQ[0] * a.mQ[0] - b.mQ[1] * a.mQ[1] - b.mQ[2] * a.mQ[2] - ); - a = q; -#else - a = a * b; -#endif - return a; -} - -const F32 ONE_PART_IN_A_MILLION = 0.000001f; - -inline F32 LLQuaternion::normalize() -{ - F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); - - if (mag > FP_MAG_THRESHOLD) - { - // Floating point error can prevent some quaternions from achieving - // exact unity length. When trying to renormalize such quaternions we - // can oscillate between multiple quantized states. To prevent such - // drifts we only renomalize if the length is far enough from unity. - if (fabs(1.f - mag) > ONE_PART_IN_A_MILLION) - { - F32 oomag = 1.f/mag; - mQ[VX] *= oomag; - mQ[VY] *= oomag; - mQ[VZ] *= oomag; - mQ[VS] *= oomag; - } - } - else - { - // we were given a very bad quaternion so we set it to identity - mQ[VX] = 0.f; - mQ[VY] = 0.f; - mQ[VZ] = 0.f; - mQ[VS] = 1.f; - } - - return mag; -} - -// deprecated -inline F32 LLQuaternion::normQuat() -{ - F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); - - if (mag > FP_MAG_THRESHOLD) - { - if (fabs(1.f - mag) > ONE_PART_IN_A_MILLION) - { - // only renormalize if length not close enough to 1.0 already - F32 oomag = 1.f/mag; - mQ[VX] *= oomag; - mQ[VY] *= oomag; - mQ[VZ] *= oomag; - mQ[VS] *= oomag; - } - } - else - { - mQ[VX] = 0.f; - mQ[VY] = 0.f; - mQ[VZ] = 0.f; - mQ[VS] = 1.f; - } - - return mag; -} - -LLQuaternion::Order StringToOrder( const char *str ); - -// Some notes about Quaternions - -// What is a Quaternion? -// --------------------- -// A quaternion is a point in 4-dimensional complex space. -// Q = { Qx, Qy, Qz, Qw } -// -// -// Why Quaternions? -// ---------------- -// The set of quaternions that make up the the 4-D unit sphere -// can be mapped to the set of all rotations in 3-D space. Sometimes -// it is easier to describe/manipulate rotations in quaternion space -// than rotation-matrix space. -// -// -// How Quaternions? -// ---------------- -// In order to take advantage of quaternions we need to know how to -// go from rotation-matricies to quaternions and back. We also have -// to agree what variety of rotations we're generating. -// -// Consider the equation... v' = v * R -// -// There are two ways to think about rotations of vectors. -// 1) v' is the same vector in a different reference frame -// 2) v' is a new vector in the same reference frame -// -// bookmark -- which way are we using? -// -// -// Quaternion from Angle-Axis: -// --------------------------- -// Suppose we wanted to represent a rotation of some angle (theta) -// about some axis ({Ax, Ay, Az})... -// -// axis of rotation = {Ax, Ay, Az} -// angle_of_rotation = theta -// -// s = sin(0.5 * theta) -// c = cos(0.5 * theta) -// Q = { s * Ax, s * Ay, s * Az, c } -// -// -// 3x3 Matrix from Quaternion -// -------------------------- -// -// | | -// | 1 - 2 * (y^2 + z^2) 2 * (x * y + z * w) 2 * (y * w - x * z) | -// | | -// M = | 2 * (x * y - z * w) 1 - 2 * (x^2 + z^2) 2 * (y * z + x * w) | -// | | -// | 2 * (x * z + y * w) 2 * (y * z - x * w) 1 - 2 * (x^2 + y^2) | -// | | - -#endif +/** + * @file llquaternion.h + * @brief LLQuaternion class header file. + * + * $LicenseInfo:firstyear=2000&license=viewergpl$ + * + * Copyright (c) 2000-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LLQUATERNION_H +#define LLQUATERNION_H + +#include + +#ifndef LLMATH_H //enforce specific include order to avoid tangling inline dependencies +#error "Please include llmath.h first." +#endif + +class LLVector4; +class LLVector3; +class LLVector3d; +class LLMatrix4; +class LLMatrix3; + +// NOTA BENE: Quaternion code is written assuming Unit Quaternions!!!! +// Moreover, it is written assuming that all vectors and matricies +// passed as arguments are normalized and unitary respectively. +// VERY VERY VERY VERY BAD THINGS will happen if these assumptions fail. + +static const U32 LENGTHOFQUAT = 4; + +class LLQuaternion +{ +public: + F32 mQ[LENGTHOFQUAT]; + + static const LLQuaternion DEFAULT; + + LLQuaternion(); // Initializes Quaternion to (0,0,0,1) + explicit LLQuaternion(const LLMatrix4 &mat); // Initializes Quaternion from Matrix4 + explicit LLQuaternion(const LLMatrix3 &mat); // Initializes Quaternion from Matrix3 + LLQuaternion(F32 x, F32 y, F32 z, F32 w); // Initializes Quaternion to normalize(x, y, z, w) + LLQuaternion(F32 angle, const LLVector4 &vec); // Initializes Quaternion to axis_angle2quat(angle, vec) + LLQuaternion(F32 angle, const LLVector3 &vec); // Initializes Quaternion to axis_angle2quat(angle, vec) + LLQuaternion(const F32 *q); // Initializes Quaternion to normalize(x, y, z, w) + LLQuaternion(const LLVector3 &x_axis, + const LLVector3 &y_axis, + const LLVector3 &z_axis); // Initializes Quaternion from Matrix3 = [x_axis ; y_axis ; z_axis] + + BOOL isIdentity() const; + BOOL isNotIdentity() const; + BOOL isFinite() const; // checks to see if all values of LLQuaternion are finite + void quantize16(F32 lower, F32 upper); // changes the vector to reflect quatization + void quantize8(F32 lower, F32 upper); // changes the vector to reflect quatization + void loadIdentity(); // Loads the quaternion that represents the identity rotation + + const LLQuaternion& set(F32 x, F32 y, F32 z, F32 w); // Sets Quaternion to normalize(x, y, z, w) + const LLQuaternion& set(const LLQuaternion &quat); // Copies Quaternion + const LLQuaternion& set(const F32 *q); // Sets Quaternion to normalize(quat[VX], quat[VY], quat[VZ], quat[VW]) + const LLQuaternion& set(const LLMatrix3 &mat); // Sets Quaternion to mat2quat(mat) + const LLQuaternion& set(const LLMatrix4 &mat); // Sets Quaternion to mat2quat(mat) + + const LLQuaternion& setAngleAxis(F32 angle, F32 x, F32 y, F32 z); // Sets Quaternion to axis_angle2quat(angle, x, y, z) + const LLQuaternion& setAngleAxis(F32 angle, const LLVector3 &vec); // Sets Quaternion to axis_angle2quat(angle, vec) + const LLQuaternion& setAngleAxis(F32 angle, const LLVector4 &vec); // Sets Quaternion to axis_angle2quat(angle, vec) + const LLQuaternion& setEulerAngles(F32 roll, F32 pitch, F32 yaw); // Sets Quaternion to euler2quat(pitch, yaw, roll) + + const LLQuaternion& setQuatInit(F32 x, F32 y, F32 z, F32 w); // deprecated + const LLQuaternion& setQuat(const LLQuaternion &quat); // deprecated + const LLQuaternion& setQuat(const F32 *q); // deprecated + const LLQuaternion& setQuat(const LLMatrix3 &mat); // deprecated + const LLQuaternion& setQuat(const LLMatrix4 &mat); // deprecated + const LLQuaternion& setQuat(F32 angle, F32 x, F32 y, F32 z); // deprecated + const LLQuaternion& setQuat(F32 angle, const LLVector3 &vec); // deprecated + const LLQuaternion& setQuat(F32 angle, const LLVector4 &vec); // deprecated + const LLQuaternion& setQuat(F32 roll, F32 pitch, F32 yaw); // deprecated + + LLMatrix4 getMatrix4(void) const; // Returns the Matrix4 equivalent of Quaternion + LLMatrix3 getMatrix3(void) const; // Returns the Matrix3 equivalent of Quaternion + void getAngleAxis(F32* angle, F32* x, F32* y, F32* z) const; // returns rotation in radians about axis x,y,z + void getAngleAxis(F32* angle, LLVector3 &vec) const; + void getEulerAngles(F32 *roll, F32* pitch, F32 *yaw) const; + + F32 normalize(); // Normalizes Quaternion and returns magnitude + F32 normQuat(); // deprecated + + const LLQuaternion& conjugate(void); // Conjugates Quaternion and returns result + const LLQuaternion& conjQuat(void); // deprecated + + // Other useful methods + const LLQuaternion& transpose(); // transpose (same as conjugate) + const LLQuaternion& transQuat(); // deprecated + + void shortestArc(const LLVector3 &a, const LLVector3 &b); // shortest rotation from a to b + const LLQuaternion& constrain(F32 radians); // constrains rotation to a cone angle specified in radians + + // Standard operators + friend std::ostream& operator<<(std::ostream &s, const LLQuaternion &a); // Prints a + friend LLQuaternion operator+(const LLQuaternion &a, const LLQuaternion &b); // Addition + friend LLQuaternion operator-(const LLQuaternion &a, const LLQuaternion &b); // Subtraction + friend LLQuaternion operator-(const LLQuaternion &a); // Negation + friend LLQuaternion operator*(F32 a, const LLQuaternion &q); // Scale + friend LLQuaternion operator*(const LLQuaternion &q, F32 b); // Scale + friend LLQuaternion operator*(const LLQuaternion &a, const LLQuaternion &b); // Returns a * b + friend LLQuaternion operator~(const LLQuaternion &a); // Returns a* (Conjugate of a) + bool operator==(const LLQuaternion &b) const; // Returns a == b + bool operator!=(const LLQuaternion &b) const; // Returns a != b + + friend const LLQuaternion& operator*=(LLQuaternion &a, const LLQuaternion &b); // Returns a * b + + friend LLVector4 operator*(const LLVector4 &a, const LLQuaternion &rot); // Rotates a by rot + friend LLVector3 operator*(const LLVector3 &a, const LLQuaternion &rot); // Rotates a by rot + friend LLVector3d operator*(const LLVector3d &a, const LLQuaternion &rot); // Rotates a by rot + + // Non-standard operators + friend F32 dot(const LLQuaternion &a, const LLQuaternion &b); + friend LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // linear interpolation (t = 0 to 1) from p to q + friend LLQuaternion lerp(F32 t, const LLQuaternion &q); // linear interpolation (t = 0 to 1) from identity to q + friend LLQuaternion slerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // spherical linear interpolation from p to q + friend LLQuaternion slerp(F32 t, const LLQuaternion &q); // spherical linear interpolation from identity to q + friend LLQuaternion nlerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // normalized linear interpolation from p to q + friend LLQuaternion nlerp(F32 t, const LLQuaternion &q); // normalized linear interpolation from p to q + + LLVector3 packToVector3() const; // Saves space by using the fact that our quaternions are normalized + void unpackFromVector3(const LLVector3& vec); // Saves space by using the fact that our quaternions are normalized + + enum Order { + XYZ = 0, + YZX = 1, + ZXY = 2, + XZY = 3, + YXZ = 4, + ZYX = 5 + }; + // Creates a quaternions from maya's rotation representation, + // which is 3 rotations (in DEGREES) in the specified order + friend LLQuaternion mayaQ(F32 x, F32 y, F32 z, Order order); + + // Conversions between Order and strings like "xyz" or "ZYX" + friend const char *OrderToString( const Order order ); + friend Order StringToOrder( const char *str ); + + static BOOL parseQuat(const std::string& buf, LLQuaternion* value); + + // For debugging, only + //static U32 mMultCount; +}; + +// checker +inline BOOL LLQuaternion::isFinite() const +{ + return (llfinite(mQ[VX]) && llfinite(mQ[VY]) && llfinite(mQ[VZ]) && llfinite(mQ[VS])); +} + +inline BOOL LLQuaternion::isIdentity() const +{ + return + ( mQ[VX] == 0.f ) && + ( mQ[VY] == 0.f ) && + ( mQ[VZ] == 0.f ) && + ( mQ[VS] == 1.f ); +} + +inline BOOL LLQuaternion::isNotIdentity() const +{ + return + ( mQ[VX] != 0.f ) || + ( mQ[VY] != 0.f ) || + ( mQ[VZ] != 0.f ) || + ( mQ[VS] != 1.f ); +} + + + +inline LLQuaternion::LLQuaternion(void) +{ + mQ[VX] = 0.f; + mQ[VY] = 0.f; + mQ[VZ] = 0.f; + mQ[VS] = 1.f; +} + +inline LLQuaternion::LLQuaternion(F32 x, F32 y, F32 z, F32 w) +{ + mQ[VX] = x; + mQ[VY] = y; + mQ[VZ] = z; + mQ[VS] = w; + + //RN: don't normalize this case as its used mainly for temporaries during calculations + //normalize(); + /* + F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); + mag -= 1.f; + mag = fabs(mag); + llassert(mag < 10.f*FP_MAG_THRESHOLD); + */ +} + +inline LLQuaternion::LLQuaternion(const F32 *q) +{ + mQ[VX] = q[VX]; + mQ[VY] = q[VY]; + mQ[VZ] = q[VZ]; + mQ[VS] = q[VW]; + + normalize(); + /* + F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); + mag -= 1.f; + mag = fabs(mag); + llassert(mag < FP_MAG_THRESHOLD); + */ +} + + +inline void LLQuaternion::loadIdentity() +{ + mQ[VX] = 0.0f; + mQ[VY] = 0.0f; + mQ[VZ] = 0.0f; + mQ[VW] = 1.0f; +} + + +inline const LLQuaternion& LLQuaternion::set(F32 x, F32 y, F32 z, F32 w) +{ + mQ[VX] = x; + mQ[VY] = y; + mQ[VZ] = z; + mQ[VS] = w; + normalize(); + return (*this); +} + +inline const LLQuaternion& LLQuaternion::set(const LLQuaternion &quat) +{ + mQ[VX] = quat.mQ[VX]; + mQ[VY] = quat.mQ[VY]; + mQ[VZ] = quat.mQ[VZ]; + mQ[VW] = quat.mQ[VW]; + normalize(); + return (*this); +} + +inline const LLQuaternion& LLQuaternion::set(const F32 *q) +{ + mQ[VX] = q[VX]; + mQ[VY] = q[VY]; + mQ[VZ] = q[VZ]; + mQ[VS] = q[VW]; + normalize(); + return (*this); +} + + +// deprecated +inline const LLQuaternion& LLQuaternion::setQuatInit(F32 x, F32 y, F32 z, F32 w) +{ + mQ[VX] = x; + mQ[VY] = y; + mQ[VZ] = z; + mQ[VS] = w; + normalize(); + return (*this); +} + +// deprecated +inline const LLQuaternion& LLQuaternion::setQuat(const LLQuaternion &quat) +{ + mQ[VX] = quat.mQ[VX]; + mQ[VY] = quat.mQ[VY]; + mQ[VZ] = quat.mQ[VZ]; + mQ[VW] = quat.mQ[VW]; + normalize(); + return (*this); +} + +// deprecated +inline const LLQuaternion& LLQuaternion::setQuat(const F32 *q) +{ + mQ[VX] = q[VX]; + mQ[VY] = q[VY]; + mQ[VZ] = q[VZ]; + mQ[VS] = q[VW]; + normalize(); + return (*this); +} + +// There may be a cheaper way that avoids the sqrt. +// Does sin_a = VX*VX + VY*VY + VZ*VZ? +// Copied from Matrix and Quaternion FAQ 1.12 +inline void LLQuaternion::getAngleAxis(F32* angle, F32* x, F32* y, F32* z) const +{ + F32 cos_a = mQ[VW]; + if (cos_a > 1.0f) cos_a = 1.0f; + if (cos_a < -1.0f) cos_a = -1.0f; + + F32 sin_a = (F32) sqrt( 1.0f - cos_a * cos_a ); + + if ( fabs( sin_a ) < 0.0005f ) + sin_a = 1.0f; + else + sin_a = 1.f/sin_a; + + F32 temp_angle = 2.0f * (F32) acos( cos_a ); + if (temp_angle > F_PI) + { + // The (angle,axis) pair should never have angles outside [PI, -PI] + // since we want the _shortest_ (angle,axis) solution. + // Since acos is defined for [0, PI], and we multiply by 2.0, we + // can push the angle outside the acceptible range. + // When this happens we set the angle to the other portion of a + // full 2PI rotation, and negate the axis, which reverses the + // direction of the rotation (by the right-hand rule). + *angle = 2.f * F_PI - temp_angle; + *x = - mQ[VX] * sin_a; + *y = - mQ[VY] * sin_a; + *z = - mQ[VZ] * sin_a; + } + else + { + *angle = temp_angle; + *x = mQ[VX] * sin_a; + *y = mQ[VY] * sin_a; + *z = mQ[VZ] * sin_a; + } +} + +inline const LLQuaternion& LLQuaternion::conjugate() +{ + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + return (*this); +} + +inline const LLQuaternion& LLQuaternion::conjQuat() +{ + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + return (*this); +} + +// Transpose +inline const LLQuaternion& LLQuaternion::transpose() +{ + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + return (*this); +} + +// deprecated +inline const LLQuaternion& LLQuaternion::transQuat() +{ + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + return (*this); +} + + +inline LLQuaternion operator+(const LLQuaternion &a, const LLQuaternion &b) +{ + return LLQuaternion( + a.mQ[VX] + b.mQ[VX], + a.mQ[VY] + b.mQ[VY], + a.mQ[VZ] + b.mQ[VZ], + a.mQ[VW] + b.mQ[VW] ); +} + + +inline LLQuaternion operator-(const LLQuaternion &a, const LLQuaternion &b) +{ + return LLQuaternion( + a.mQ[VX] - b.mQ[VX], + a.mQ[VY] - b.mQ[VY], + a.mQ[VZ] - b.mQ[VZ], + a.mQ[VW] - b.mQ[VW] ); +} + + +inline LLQuaternion operator-(const LLQuaternion &a) +{ + return LLQuaternion( + -a.mQ[VX], + -a.mQ[VY], + -a.mQ[VZ], + -a.mQ[VW] ); +} + + +inline LLQuaternion operator*(F32 a, const LLQuaternion &q) +{ + return LLQuaternion( + a * q.mQ[VX], + a * q.mQ[VY], + a * q.mQ[VZ], + a * q.mQ[VW] ); +} + + +inline LLQuaternion operator*(const LLQuaternion &q, F32 a) +{ + return LLQuaternion( + a * q.mQ[VX], + a * q.mQ[VY], + a * q.mQ[VZ], + a * q.mQ[VW] ); +} + +inline LLQuaternion operator~(const LLQuaternion &a) +{ + LLQuaternion q(a); + q.conjQuat(); + return q; +} + +inline bool LLQuaternion::operator==(const LLQuaternion &b) const +{ + return ( (mQ[VX] == b.mQ[VX]) + &&(mQ[VY] == b.mQ[VY]) + &&(mQ[VZ] == b.mQ[VZ]) + &&(mQ[VS] == b.mQ[VS])); +} + +inline bool LLQuaternion::operator!=(const LLQuaternion &b) const +{ + return ( (mQ[VX] != b.mQ[VX]) + ||(mQ[VY] != b.mQ[VY]) + ||(mQ[VZ] != b.mQ[VZ]) + ||(mQ[VS] != b.mQ[VS])); +} + +inline const LLQuaternion& operator*=(LLQuaternion &a, const LLQuaternion &b) +{ +#if 1 + LLQuaternion q( + b.mQ[3] * a.mQ[0] + b.mQ[0] * a.mQ[3] + b.mQ[1] * a.mQ[2] - b.mQ[2] * a.mQ[1], + b.mQ[3] * a.mQ[1] + b.mQ[1] * a.mQ[3] + b.mQ[2] * a.mQ[0] - b.mQ[0] * a.mQ[2], + b.mQ[3] * a.mQ[2] + b.mQ[2] * a.mQ[3] + b.mQ[0] * a.mQ[1] - b.mQ[1] * a.mQ[0], + b.mQ[3] * a.mQ[3] - b.mQ[0] * a.mQ[0] - b.mQ[1] * a.mQ[1] - b.mQ[2] * a.mQ[2] + ); + a = q; +#else + a = a * b; +#endif + return a; +} + +const F32 ONE_PART_IN_A_MILLION = 0.000001f; + +inline F32 LLQuaternion::normalize() +{ + F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); + + if (mag > FP_MAG_THRESHOLD) + { + // Floating point error can prevent some quaternions from achieving + // exact unity length. When trying to renormalize such quaternions we + // can oscillate between multiple quantized states. To prevent such + // drifts we only renomalize if the length is far enough from unity. + if (fabs(1.f - mag) > ONE_PART_IN_A_MILLION) + { + F32 oomag = 1.f/mag; + mQ[VX] *= oomag; + mQ[VY] *= oomag; + mQ[VZ] *= oomag; + mQ[VS] *= oomag; + } + } + else + { + // we were given a very bad quaternion so we set it to identity + mQ[VX] = 0.f; + mQ[VY] = 0.f; + mQ[VZ] = 0.f; + mQ[VS] = 1.f; + } + + return mag; +} + +// deprecated +inline F32 LLQuaternion::normQuat() +{ + F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); + + if (mag > FP_MAG_THRESHOLD) + { + if (fabs(1.f - mag) > ONE_PART_IN_A_MILLION) + { + // only renormalize if length not close enough to 1.0 already + F32 oomag = 1.f/mag; + mQ[VX] *= oomag; + mQ[VY] *= oomag; + mQ[VZ] *= oomag; + mQ[VS] *= oomag; + } + } + else + { + mQ[VX] = 0.f; + mQ[VY] = 0.f; + mQ[VZ] = 0.f; + mQ[VS] = 1.f; + } + + return mag; +} + +LLQuaternion::Order StringToOrder( const char *str ); + +// Some notes about Quaternions + +// What is a Quaternion? +// --------------------- +// A quaternion is a point in 4-dimensional complex space. +// Q = { Qx, Qy, Qz, Qw } +// +// +// Why Quaternions? +// ---------------- +// The set of quaternions that make up the the 4-D unit sphere +// can be mapped to the set of all rotations in 3-D space. Sometimes +// it is easier to describe/manipulate rotations in quaternion space +// than rotation-matrix space. +// +// +// How Quaternions? +// ---------------- +// In order to take advantage of quaternions we need to know how to +// go from rotation-matricies to quaternions and back. We also have +// to agree what variety of rotations we're generating. +// +// Consider the equation... v' = v * R +// +// There are two ways to think about rotations of vectors. +// 1) v' is the same vector in a different reference frame +// 2) v' is a new vector in the same reference frame +// +// bookmark -- which way are we using? +// +// +// Quaternion from Angle-Axis: +// --------------------------- +// Suppose we wanted to represent a rotation of some angle (theta) +// about some axis ({Ax, Ay, Az})... +// +// axis of rotation = {Ax, Ay, Az} +// angle_of_rotation = theta +// +// s = sin(0.5 * theta) +// c = cos(0.5 * theta) +// Q = { s * Ax, s * Ay, s * Az, c } +// +// +// 3x3 Matrix from Quaternion +// -------------------------- +// +// | | +// | 1 - 2 * (y^2 + z^2) 2 * (x * y + z * w) 2 * (y * w - x * z) | +// | | +// M = | 2 * (x * y - z * w) 1 - 2 * (x^2 + z^2) 2 * (y * z + x * w) | +// | | +// | 2 * (x * z + y * w) 2 * (y * z - x * w) 1 - 2 * (x^2 + y^2) | +// | | + +#endif diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index bba0a6d089..ab9f8c4c24 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -45,7 +45,7 @@ #include "v4math.h" #include "m4math.h" #include "m3math.h" -#include "llmatrix4a.h" +#include "llmatrix3a.h" #include "lloctree.h" #include "lldarray.h" #include "llvolume.h" @@ -53,6 +53,7 @@ #include "llstl.h" #include "llsdserialize.h" #include "llvector4a.h" +#include "llmatrix4a.h" #define DEBUG_SILHOUETTE_BINORMALS 0 #define DEBUG_SILHOUETTE_NORMALS 0 // TomY: Use this to display normals using the silhouette @@ -161,7 +162,7 @@ BOOL LLTriangleRayIntersect(const LLVector4a& vert0, const LLVector4a& vert1, co LLVector4a det; det.setAllDot3(edge1, pvec); - if (det.greaterEqual4(LLVector4a::getApproximatelyZero()).getComparisonMask() & 0x7) + if (det.greaterEqual(LLVector4a::getEpsilon()).getGatheredBits() & 0x7) { /* calculate distance from vert0 to ray origin */ LLVector4a tvec; @@ -171,8 +172,8 @@ BOOL LLTriangleRayIntersect(const LLVector4a& vert0, const LLVector4a& vert1, co LLVector4a u; u.setAllDot3(tvec,pvec); - if ((u.greaterEqual4(LLVector4a::getZero()).getComparisonMask() & 0x7) && - (u.lessEqual4(det).getComparisonMask() & 0x7)) + if ((u.greaterEqual(LLVector4a::getZero()).getGatheredBits() & 0x7) && + (u.lessEqual(det).getGatheredBits() & 0x7)) { /* prepare to test V parameter */ LLVector4a qvec; @@ -188,8 +189,8 @@ BOOL LLTriangleRayIntersect(const LLVector4a& vert0, const LLVector4a& vert1, co LLVector4a sum_uv; sum_uv.setAdd(u, v); - S32 v_gequal = v.greaterEqual4(LLVector4a::getZero()).getComparisonMask() & 0x7; - S32 sum_lequal = sum_uv.lessEqual4(det).getComparisonMask() & 0x7; + S32 v_gequal = v.greaterEqual(LLVector4a::getZero()).getGatheredBits() & 0x7; + S32 sum_lequal = sum_uv.lessEqual(det).getGatheredBits() & 0x7; if (v_gequal && sum_lequal) { @@ -230,7 +231,7 @@ BOOL LLTriangleRayIntersectTwoSided(const LLVector4a& vert0, const LLVector4a& v pvec.setCross3(dir, edge2); /* if determinant is near zero, ray lies in plane of triangle */ - F32 det = edge1.dot3(pvec); + F32 det = edge1.dot3(pvec).getF32(); if (det > -F_APPROXIMATELY_ZERO && det < F_APPROXIMATELY_ZERO) @@ -245,7 +246,7 @@ BOOL LLTriangleRayIntersectTwoSided(const LLVector4a& vert0, const LLVector4a& v tvec.setSub(orig, vert0); /* calculate U parameter and test bounds */ - u = (tvec.dot3(pvec)) * inv_det; + u = (tvec.dot3(pvec).getF32()) * inv_det; if (u < 0.f || u > 1.f) { return FALSE; @@ -255,7 +256,7 @@ BOOL LLTriangleRayIntersectTwoSided(const LLVector4a& vert0, const LLVector4a& v tvec.sub(edge1); /* calculate V parameter and test bounds */ - v = (dir.dot3(tvec)) * inv_det; + v = (dir.dot3(tvec).getF32()) * inv_det; if (v < 0.f || u + v > 1.f) { @@ -263,7 +264,7 @@ BOOL LLTriangleRayIntersectTwoSided(const LLVector4a& vert0, const LLVector4a& v } /* calculate t, ray intersects triangle */ - t = (edge2.dot3(tvec)) * inv_det; + t = (edge2.dot3(tvec).getF32()) * inv_det; intersection_a = u; intersection_b = v; @@ -326,20 +327,20 @@ public: //stretch by triangles in node tri = *iter; - min.setMin(*tri->mV[0]); - min.setMin(*tri->mV[1]); - min.setMin(*tri->mV[2]); + min.setMin(min, *tri->mV[0]); + min.setMin(min, *tri->mV[1]); + min.setMin(min, *tri->mV[2]); - max.setMax(*tri->mV[0]); - max.setMax(*tri->mV[1]); - max.setMax(*tri->mV[2]); + max.setMax(max, *tri->mV[0]); + max.setMax(max, *tri->mV[1]); + max.setMax(max, *tri->mV[2]); } for (S32 i = 0; i < branch->getChildCount(); ++i) { //stretch by child extents LLVolumeOctreeListener* child = (LLVolumeOctreeListener*) branch->getChild(i)->getListener(0); - min.setMin(child->mExtents[0]); - max.setMax(child->mExtents[1]); + min.setMin(min, child->mExtents[0]); + max.setMax(min, child->mExtents[1]); } } else if (branch->getChildCount() != 0) @@ -352,8 +353,8 @@ public: for (S32 i = 1; i < branch->getChildCount(); ++i) { //stretch by child extents child = (LLVolumeOctreeListener*) branch->getChild(i)->getListener(0); - min.setMin(child->mExtents[0]); - max.setMax(child->mExtents[1]); + min.setMin(min, child->mExtents[0]); + max.setMax(max, child->mExtents[1]); } } else @@ -2011,7 +2012,7 @@ const LLVolumeFace::VertexData& LLVolumeFace::VertexData::operator=(const LLVolu if (this != &rhs) { init(); - LLVector4a::memcpyNonAliased16((F32*) mData, (F32*) rhs.mData, 8); + LLVector4a::memcpyNonAliased16((F32*) mData, (F32*) rhs.mData, 8*sizeof(F32)); mTexCoord = rhs.mTexCoord; } return *this; @@ -2055,8 +2056,8 @@ void LLVolumeFace::VertexData::setNormal(const LLVector4a& norm) bool LLVolumeFace::VertexData::operator<(const LLVolumeFace::VertexData& rhs)const { - const F32* lp = this->getPosition().getF32(); - const F32* rp = rhs.getPosition().getF32(); + const F32* lp = this->getPosition().getF32ptr(); + const F32* rp = rhs.getPosition().getF32ptr(); if (lp[0] != rp[0]) { @@ -2073,8 +2074,8 @@ bool LLVolumeFace::VertexData::operator<(const LLVolumeFace::VertexData& rhs)con return lp[2] < rp[2]; } - lp = getNormal().getF32(); - rp = rhs.getNormal().getF32(); + lp = getNormal().getF32ptr(); + rp = rhs.getNormal().getF32ptr(); if (lp[0] != rp[0]) { @@ -2101,23 +2102,23 @@ bool LLVolumeFace::VertexData::operator<(const LLVolumeFace::VertexData& rhs)con bool LLVolumeFace::VertexData::operator==(const LLVolumeFace::VertexData& rhs)const { - return mData[POSITION].equal3(rhs.getPosition()) && - mData[NORMAL].equal3(rhs.getNormal()) && + return mData[POSITION].equals3(rhs.getPosition()) && + mData[NORMAL].equals3(rhs.getNormal()) && mTexCoord == rhs.mTexCoord; } bool LLVolumeFace::VertexData::compareNormal(const LLVolumeFace::VertexData& rhs, F32 angle_cutoff) const { bool retval = false; - if (rhs.mData[POSITION].equal3(mData[POSITION]) && rhs.mTexCoord == mTexCoord) + if (rhs.mData[POSITION].equals3(mData[POSITION]) && rhs.mTexCoord == mTexCoord) { if (angle_cutoff > 1.f) { - retval = (mData[NORMAL].equal3(rhs.mData[NORMAL])); + retval = (mData[NORMAL].equals3(rhs.mData[NORMAL])); } else { - F32 cur_angle = rhs.mData[NORMAL].dot3(mData[NORMAL]); + F32 cur_angle = rhs.mData[NORMAL].dot3(mData[NORMAL]).getF32(); retval = cur_angle > angle_cutoff; } } @@ -2331,8 +2332,8 @@ bool LLVolume::unpackVolumeFaces(std::istream& is, S32 size) } else { - min.setMin(*pos_out); - max.setMax(*pos_out); + min.setMin(min, *pos_out); + max.setMax(max, *pos_out); } pos_out++; @@ -2944,7 +2945,7 @@ void sculpt_calc_mesh_resolution(U16 width, U16 height, U8 type, F32 detail, S32 ratio = (F32) width / (F32) height; - s = (S32)fsqrtf(((F32)vertices / ratio)); + s = (S32)(F32) sqrt(((F32)vertices / ratio)); s = llmax(s, 4); // no degenerate sizes, please t = vertices / s; @@ -5280,16 +5281,15 @@ LLVolumeFace& LLVolumeFace::operator=(const LLVolumeFace& src) freeData(); - LLVector4a::memcpyNonAliased16((F32*) mExtents, (F32*) src.mExtents, 12); + LLVector4a::memcpyNonAliased16((F32*) mExtents, (F32*) src.mExtents, 12*sizeof(F32)); resizeVertices(src.mNumVertices); resizeIndices(src.mNumIndices); if (mNumVertices) { - S32 vert_size = mNumVertices*4; + S32 vert_size = mNumVertices*4*sizeof(F32); S32 tc_size = (mNumVertices*8+0xF) & ~0xF; - tc_size /= 4; LLVector4a::memcpyNonAliased16((F32*) mPositions, (F32*) src.mPositions, vert_size); LLVector4a::memcpyNonAliased16((F32*) mNormals, (F32*) src.mNormals, vert_size); @@ -5322,8 +5322,7 @@ LLVolumeFace& LLVolumeFace::operator=(const LLVolumeFace& src) if (mNumIndices) { S32 idx_size = (mNumIndices*2+0xF) & ~0xF; - idx_size /= 4; - + LLVector4a::memcpyNonAliased16((F32*) mIndices, (F32*) src.mIndices, idx_size); } @@ -5388,9 +5387,9 @@ void LLVolumeFace::getVertexData(U16 index, LLVolumeFace::VertexData& cv) bool LLVolumeFace::VertexMapData::operator==(const LLVolumeFace::VertexData& rhs) const { - return getPosition().equal3(rhs.getPosition()) && + return getPosition().equals3(rhs.getPosition()) && mTexCoord == rhs.mTexCoord && - getNormal().equal3(rhs.getNormal()); + getNormal().equals3(rhs.getNormal()); } bool LLVolumeFace::VertexMapData::ComparePosition::operator()(const LLVector3& a, const LLVector3& b) const @@ -5423,7 +5422,7 @@ void LLVolumeFace::optimize(F32 angle_cutoff) getVertexData(index, cv); BOOL found = FALSE; - VertexMapData::PointMap::iterator point_iter = point_map.find(LLVector3(cv.getPosition().getF32())); + VertexMapData::PointMap::iterator point_iter = point_map.find(LLVector3(cv.getPosition().getF32ptr())); if (point_iter != point_map.end()) { //duplicate point might exist for (U32 j = 0; j < point_iter->second.size(); ++j) @@ -5455,7 +5454,7 @@ void LLVolumeFace::optimize(F32 angle_cutoff) } else { - point_map[LLVector3(d.getPosition().getF32())].push_back(d); + point_map[LLVector3(d.getPosition().getF32ptr())].push_back(d); } } } @@ -5491,12 +5490,12 @@ void LLVolumeFace::createOctree() tri->mIndex[2] = mIndices[i+2]; LLVector4a min = v0; - min.setMin(v1); - min.setMin(v2); + min.setMin(min, v1); + min.setMin(min, v2); LLVector4a max = v0; - max.setMax(v1); - max.setMax(v2); + max.setMax(max, v1); + max.setMax(max, v2); LLVector4a center; center.setAdd(min, max); @@ -5507,7 +5506,7 @@ void LLVolumeFace::createOctree() LLVector4a size; size.setSub(max,min); - tri->mRadius = size.length3() * 0.5f; + tri->mRadius = size.getLength3().getF32() * 0.5f; mOctree->insert(tri); } @@ -5655,12 +5654,13 @@ BOOL LLVolumeFace::createUnCutCubeCap(LLVolume* volume, BOOL partial_build) if (gx == 0 && gy == 0) { - min = max = newVert.getPosition(); + min = newVert.getPosition(); + max = min; } else { - min.setMin(newVert.getPosition()); - max.setMax(newVert.getPosition()); + min.setMin(min, newVert.getPosition()); + max.setMax(max, newVert.getPosition()); } } } @@ -5795,7 +5795,8 @@ BOOL LLVolumeFace::createCap(LLVolume* volume, BOOL partial_build) if (i == 0) { - min = max = pos[i]; + max = pos[i]; + min = max; min_uv = max_uv = tc[i]; } else @@ -5848,8 +5849,8 @@ BOOL LLVolumeFace::createCap(LLVolume* volume, BOOL partial_build) for (S32 i = 0; i < num_vertices; i++) { - binorm[i].load4a((F32*) &binormal.mQ); - norm[i].load4a((F32*) &normal.mQ); + binorm[i].load4a(binormal.getF32ptr()); + norm[i].load4a(normal.getF32ptr()); } if (partial_build) @@ -6186,7 +6187,7 @@ void LLVolumeFace::pushVertex(const LLVector4a& pos, const LLVector4a& norm, con LLVector4a* dst = (LLVector4a*) ll_aligned_malloc_16(new_size); if (mPositions) { - LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mPositions, old_size/4); + LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mPositions, old_size); ll_aligned_free_16(mPositions); } mPositions = dst; @@ -6195,7 +6196,7 @@ void LLVolumeFace::pushVertex(const LLVector4a& pos, const LLVector4a& norm, con dst = (LLVector4a*) ll_aligned_malloc_16(new_size); if (mNormals) { - LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mNormals, old_size/4); + LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mNormals, old_size); ll_aligned_free_16(mNormals); } mNormals = dst; @@ -6209,7 +6210,7 @@ void LLVolumeFace::pushVertex(const LLVector4a& pos, const LLVector4a& norm, con LLVector2* dst = (LLVector2*) ll_aligned_malloc_16(new_size); if (mTexCoords) { - LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mTexCoords, old_size/4); + LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mTexCoords, old_size); ll_aligned_free_16(mTexCoords); } } @@ -6268,7 +6269,7 @@ void LLVolumeFace::pushIndex(const U16& idx) U16* dst = (U16*) ll_aligned_malloc_16(new_size); if (mIndices) { - LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mIndices, old_size/4); + LLVector4a::memcpyNonAliased16((F32*) dst, (F32*) mIndices, old_size); ll_aligned_free_16(mIndices); } mIndices = dst; @@ -6319,9 +6320,9 @@ void LLVolumeFace::appendFace(const LLVolumeFace& face, LLMatrix4& mat_in, LLMat if (mNumVertices > 0) { //copy old buffers - LLVector4a::memcpyNonAliased16((F32*) new_pos, (F32*) mPositions, mNumVertices*4); - LLVector4a::memcpyNonAliased16((F32*) new_norm, (F32*) mNormals, mNumVertices*4); - LLVector4a::memcpyNonAliased16((F32*) new_tc, (F32*) mTexCoords, mNumVertices*2); + LLVector4a::memcpyNonAliased16((F32*) new_pos, (F32*) mPositions, mNumVertices*4*sizeof(F32)); + LLVector4a::memcpyNonAliased16((F32*) new_norm, (F32*) mNormals, mNumVertices*4*sizeof(F32)); + LLVector4a::memcpyNonAliased16((F32*) new_tc, (F32*) mTexCoords, mNumVertices*2*sizeof(F32)); } //free old buffer space @@ -6382,7 +6383,7 @@ void LLVolumeFace::appendFace(const LLVolumeFace& face, LLMatrix4& mat_in, LLMat if (mNumIndices > 0) { //copy old index buffer S32 old_size = (mNumIndices*2+0xF) & ~0xF; - LLVector4a::memcpyNonAliased16((F32*) new_indices, (F32*) mIndices, old_size/4); + LLVector4a::memcpyNonAliased16((F32*) new_indices, (F32*) mIndices, old_size); } //free old index buffer diff --git a/indra/llmath/tests/v2math_test.cpp b/indra/llmath/tests/v2math_test.cpp index 4660fcb955..c745b9989e 100644 --- a/indra/llmath/tests/v2math_test.cpp +++ b/indra/llmath/tests/v2math_test.cpp @@ -91,7 +91,7 @@ namespace tut F32 x = 2.2345f, y = 3.5678f ; LLVector2 vec2(x,y); ensure("magVecSquared:Fail ", is_approx_equal(vec2.magVecSquared(), (x*x + y*y))); - ensure("magVec:Fail ", is_approx_equal(vec2.magVec(), fsqrtf(x*x + y*y))); + ensure("magVec:Fail ", is_approx_equal(vec2.magVec(), (F32) sqrt(x*x + y*y))); } template<> template<> @@ -413,7 +413,7 @@ namespace tut ensure_equals("dist_vec_squared values are not equal",val2, val1); val1 = dist_vec(vec2, vec3); - val2 = fsqrtf((x1 - x2)*(x1 - x2) + (y1 - y2)* (y1 - y2)); + val2 = (F32) sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)* (y1 - y2)); ensure_equals("dist_vec values are not equal",val2, val1); } @@ -437,7 +437,7 @@ namespace tut LLVector2 vec2(x1, y1); F32 vecMag = vec2.normVec(); - F32 mag = fsqrtf(x1*x1 + y1*y1); + F32 mag = (F32) sqrt(x1*x1 + y1*y1); F32 oomag = 1.f / mag; val1 = x1 * oomag; diff --git a/indra/llmath/tests/v3color_test.cpp b/indra/llmath/tests/v3color_test.cpp index 316b6e392f..0efba8e9f3 100644 --- a/indra/llmath/tests/v3color_test.cpp +++ b/indra/llmath/tests/v3color_test.cpp @@ -99,7 +99,7 @@ namespace tut F32 r = 2.3436212f, g = 1231.f, b = 4.7849321232f; LLColor3 llcolor3(r,g,b); ensure("magVecSquared:Fail ", is_approx_equal(llcolor3.magVecSquared(), (r*r + g*g + b*b))); - ensure("magVec:Fail ", is_approx_equal(llcolor3.magVec(), fsqrtf(r*r + g*g + b*b))); + ensure("magVec:Fail ", is_approx_equal(llcolor3.magVec(), (F32) sqrt(r*r + g*g + b*b))); } template<> template<> @@ -109,7 +109,7 @@ namespace tut F32 val1, val2,val3; LLColor3 llcolor3(r,g,b); F32 vecMag = llcolor3.normVec(); - F32 mag = fsqrtf(r*r + g*g + b*b); + F32 mag = (F32) sqrt(r*r + g*g + b*b); F32 oomag = 1.f / mag; val1 = r * oomag; val2 = g * oomag; @@ -292,7 +292,7 @@ namespace tut F32 r1 =1.f, g1 = 2.f,b1 = 1.2f, r2 = -2.3f, g2 = 1.11f, b2 = 1234.234f; LLColor3 llcolor3(r1,g1,b1),llcolor3a(r2,g2,b2); F32 val = distVec(llcolor3,llcolor3a); - ensure("distVec failed ", is_approx_equal(fsqrtf((r1-r2)*(r1-r2) + (g1-g2)*(g1-g2) + (b1-b2)*(b1-b2)) ,val)); + ensure("distVec failed ", is_approx_equal((F32) sqrt((r1-r2)*(r1-r2) + (g1-g2)*(g1-g2) + (b1-b2)*(b1-b2)) ,val)); F32 val1 = distVec_squared(llcolor3,llcolor3a); ensure("distVec_squared failed ", is_approx_equal(((r1-r2)*(r1-r2) + (g1-g2)*(g1-g2) + (b1-b2)*(b1-b2)) ,val1)); diff --git a/indra/llmath/tests/v3dmath_test.cpp b/indra/llmath/tests/v3dmath_test.cpp index e7c949186c..894b6200f5 100644 --- a/indra/llmath/tests/v3dmath_test.cpp +++ b/indra/llmath/tests/v3dmath_test.cpp @@ -409,7 +409,7 @@ namespace tut LLVector3d vec3D(x,y,z); F64 res = (x*x + y*y + z*z) - vec3D.magVecSquared(); ensure("1:magVecSquared:Fail ", ((-F_APPROXIMATELY_ZERO <= res)&& (res <=F_APPROXIMATELY_ZERO))); - res = fsqrtf(x*x + y*y + z*z) - vec3D.magVec(); + res = (F32) sqrt(x*x + y*y + z*z) - vec3D.magVec(); ensure("2:magVec: Fail ", ((-F_APPROXIMATELY_ZERO <= res)&& (res <=F_APPROXIMATELY_ZERO))); } diff --git a/indra/llmath/tests/v3math_test.cpp b/indra/llmath/tests/v3math_test.cpp index 7faf076243..d5c8dd2f9c 100644 --- a/indra/llmath/tests/v3math_test.cpp +++ b/indra/llmath/tests/v3math_test.cpp @@ -155,7 +155,7 @@ namespace tut F32 x = 2.32f, y = 1.212f, z = -.12f; LLVector3 vec3(x,y,z); ensure("1:magVecSquared:Fail ", is_approx_equal(vec3.magVecSquared(), (x*x + y*y + z*z))); - ensure("2:magVec:Fail ", is_approx_equal(vec3.magVec(), fsqrtf(x*x + y*y + z*z))); + ensure("2:magVec:Fail ", is_approx_equal(vec3.magVec(), (F32) sqrt(x*x + y*y + z*z))); } template<> template<> @@ -515,7 +515,7 @@ namespace tut F32 val1,val2; LLVector3 vec3(x1,y1,z1),vec3a(x2,y2,z2); val1 = dist_vec(vec3,vec3a); - val2 = fsqrtf((x1 - x2)*(x1 - x2) + (y1 - y2)* (y1 - y2) + (z1 - z2)* (z1 -z2)); + val2 = (F32) sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)* (y1 - y2) + (z1 - z2)* (z1 -z2)); ensure_equals("1:dist_vec: Fail ",val2, val1); val1 = dist_vec_squared(vec3,vec3a); val2 =((x1 - x2)*(x1 - x2) + (y1 - y2)* (y1 - y2) + (z1 - z2)* (z1 -z2)); diff --git a/indra/llmath/tests/v4color_test.cpp b/indra/llmath/tests/v4color_test.cpp index 33921e0f0f..636446027a 100644 --- a/indra/llmath/tests/v4color_test.cpp +++ b/indra/llmath/tests/v4color_test.cpp @@ -161,7 +161,7 @@ namespace tut F32 r = 0x20, g = 0xFFFF, b = 0xFF; LLColor4 llcolor4(r,g,b); ensure("magVecSquared:Fail ", is_approx_equal(llcolor4.magVecSquared(), (r*r + g*g + b*b))); - ensure("magVec:Fail ", is_approx_equal(llcolor4.magVec(), fsqrtf(r*r + g*g + b*b))); + ensure("magVec:Fail ", is_approx_equal(llcolor4.magVec(), (F32) sqrt(r*r + g*g + b*b))); } template<> template<> @@ -170,7 +170,7 @@ namespace tut F32 r = 0x20, g = 0xFFFF, b = 0xFF; LLColor4 llcolor4(r,g,b); F32 vecMag = llcolor4.normVec(); - F32 mag = fsqrtf(r*r + g*g + b*b); + F32 mag = (F32) sqrt(r*r + g*g + b*b); F32 oomag = 1.f / mag; F32 val1 = r * oomag, val2 = g * oomag, val3 = b * oomag; ensure("1:normVec failed ", (is_approx_equal(val1, llcolor4.mV[0]) && is_approx_equal(val2, llcolor4.mV[1]) && is_approx_equal(val3, llcolor4.mV[2]) && is_approx_equal(vecMag, mag))); diff --git a/indra/llmath/tests/v4coloru_test.cpp b/indra/llmath/tests/v4coloru_test.cpp index 9f71cfc8cc..b3dbfece34 100644 --- a/indra/llmath/tests/v4coloru_test.cpp +++ b/indra/llmath/tests/v4coloru_test.cpp @@ -141,7 +141,7 @@ namespace tut U8 r = 0x12, g = 0xFF, b = 0xAF; LLColor4U llcolor4u(r,g,b); ensure("magVecSquared:Fail ", is_approx_equal(llcolor4u.magVecSquared(), (F32)(r*r + g*g + b*b))); - ensure("magVec:Fail ", is_approx_equal(llcolor4u.magVec(), fsqrtf(r*r + g*g + b*b))); + ensure("magVec:Fail ", is_approx_equal(llcolor4u.magVec(), (F32) sqrt((F32) (r*r + g*g + b*b)))); } template<> template<> diff --git a/indra/llmath/tests/v4math_test.cpp b/indra/llmath/tests/v4math_test.cpp index fe051c27e9..e919c90efa 100644 --- a/indra/llmath/tests/v4math_test.cpp +++ b/indra/llmath/tests/v4math_test.cpp @@ -102,7 +102,7 @@ namespace tut { F32 x = 10.f, y = -2.3f, z = -.023f; LLVector4 vec4(x,y,z); - ensure("magVec:Fail ", is_approx_equal(vec4.magVec(), fsqrtf(x*x + y*y + z*z))); + ensure("magVec:Fail ", is_approx_equal(vec4.magVec(), (F32) sqrt(x*x + y*y + z*z))); ensure("magVecSquared:Fail ", is_approx_equal(vec4.magVecSquared(), (x*x + y*y + z*z))); } @@ -343,7 +343,7 @@ namespace tut F32 val1,val2; LLVector4 vec4(x1,y1,z1),vec4a(x2,y2,z2); val1 = dist_vec(vec4,vec4a); - val2 = fsqrtf((x1 - x2)*(x1 - x2) + (y1 - y2)* (y1 - y2) + (z1 - z2)* (z1 -z2)); + val2 = (F32) sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)* (y1 - y2) + (z1 - z2)* (z1 -z2)); ensure_equals("dist_vec: Fail ",val2, val1); val1 = dist_vec_squared(vec4,vec4a); val2 =((x1 - x2)*(x1 - x2) + (y1 - y2)* (y1 - y2) + (z1 - z2)* (z1 -z2)); diff --git a/indra/llmath/v2math.cpp b/indra/llmath/v2math.cpp index 220336e0c2..2603127f75 100644 --- a/indra/llmath/v2math.cpp +++ b/indra/llmath/v2math.cpp @@ -92,7 +92,7 @@ F32 dist_vec(const LLVector2 &a, const LLVector2 &b) { F32 x = a.mV[0] - b.mV[0]; F32 y = a.mV[1] - b.mV[1]; - return fsqrtf( x*x + y*y ); + return (F32) sqrt( x*x + y*y ); } F32 dist_vec_squared(const LLVector2 &a, const LLVector2 &b) diff --git a/indra/llmath/v2math.h b/indra/llmath/v2math.h index ae26c85ce4..35fd1b6048 100644 --- a/indra/llmath/v2math.h +++ b/indra/llmath/v2math.h @@ -225,7 +225,7 @@ inline void LLVector2::setVec(const F32 *vec) inline F32 LLVector2::length(void) const { - return fsqrtf(mV[0]*mV[0] + mV[1]*mV[1]); + return (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1]); } inline F32 LLVector2::lengthSquared(void) const @@ -235,7 +235,7 @@ inline F32 LLVector2::lengthSquared(void) const inline F32 LLVector2::normalize(void) { - F32 mag = fsqrtf(mV[0]*mV[0] + mV[1]*mV[1]); + F32 mag = (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1]); F32 oomag; if (mag > FP_MAG_THRESHOLD) @@ -262,7 +262,7 @@ inline bool LLVector2::isFinite() const // deprecated inline F32 LLVector2::magVec(void) const { - return fsqrtf(mV[0]*mV[0] + mV[1]*mV[1]); + return (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1]); } // deprecated @@ -274,7 +274,7 @@ inline F32 LLVector2::magVecSquared(void) const // deprecated inline F32 LLVector2::normVec(void) { - F32 mag = fsqrtf(mV[0]*mV[0] + mV[1]*mV[1]); + F32 mag = (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1]); F32 oomag; if (mag > FP_MAG_THRESHOLD) diff --git a/indra/llmath/v3color.h b/indra/llmath/v3color.h index 1915d80502..95a3de8b62 100644 --- a/indra/llmath/v3color.h +++ b/indra/llmath/v3color.h @@ -284,7 +284,7 @@ inline F32 LLColor3::brightness(void) const inline F32 LLColor3::length(void) const { - return fsqrtf(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); + return (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); } inline F32 LLColor3::lengthSquared(void) const @@ -294,7 +294,7 @@ inline F32 LLColor3::lengthSquared(void) const inline F32 LLColor3::normalize(void) { - F32 mag = fsqrtf(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); + F32 mag = (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); F32 oomag; if (mag) @@ -310,7 +310,7 @@ inline F32 LLColor3::normalize(void) // deprecated inline F32 LLColor3::magVec(void) const { - return fsqrtf(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); + return (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); } // deprecated @@ -322,7 +322,7 @@ inline F32 LLColor3::magVecSquared(void) const // deprecated inline F32 LLColor3::normVec(void) { - F32 mag = fsqrtf(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); + F32 mag = (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); F32 oomag; if (mag) @@ -444,7 +444,7 @@ inline F32 distVec(const LLColor3 &a, const LLColor3 &b) F32 x = a.mV[0] - b.mV[0]; F32 y = a.mV[1] - b.mV[1]; F32 z = a.mV[2] - b.mV[2]; - return fsqrtf( x*x + y*y + z*z ); + return (F32) sqrt( x*x + y*y + z*z ); } inline F32 distVec_squared(const LLColor3 &a, const LLColor3 &b) diff --git a/indra/llmath/v3dmath.h b/indra/llmath/v3dmath.h index 6ab31e8a41..ab253de064 100644 --- a/indra/llmath/v3dmath.h +++ b/indra/llmath/v3dmath.h @@ -240,7 +240,7 @@ inline const LLVector3d& LLVector3d::setVec(const F64 *vec) inline F64 LLVector3d::normVec(void) { - F64 mag = fsqrtf(mdV[0]*mdV[0] + mdV[1]*mdV[1] + mdV[2]*mdV[2]); + F64 mag = (F32) sqrt(mdV[0]*mdV[0] + mdV[1]*mdV[1] + mdV[2]*mdV[2]); F64 oomag; if (mag > FP_MAG_THRESHOLD) @@ -262,7 +262,7 @@ inline F64 LLVector3d::normVec(void) inline F64 LLVector3d::normalize(void) { - F64 mag = fsqrtf(mdV[0]*mdV[0] + mdV[1]*mdV[1] + mdV[2]*mdV[2]); + F64 mag = (F32) sqrt(mdV[0]*mdV[0] + mdV[1]*mdV[1] + mdV[2]*mdV[2]); F64 oomag; if (mag > FP_MAG_THRESHOLD) @@ -286,7 +286,7 @@ inline F64 LLVector3d::normalize(void) inline F64 LLVector3d::magVec(void) const { - return fsqrtf(mdV[0]*mdV[0] + mdV[1]*mdV[1] + mdV[2]*mdV[2]); + return (F32) sqrt(mdV[0]*mdV[0] + mdV[1]*mdV[1] + mdV[2]*mdV[2]); } inline F64 LLVector3d::magVecSquared(void) const @@ -296,7 +296,7 @@ inline F64 LLVector3d::magVecSquared(void) const inline F64 LLVector3d::length(void) const { - return fsqrtf(mdV[0]*mdV[0] + mdV[1]*mdV[1] + mdV[2]*mdV[2]); + return (F32) sqrt(mdV[0]*mdV[0] + mdV[1]*mdV[1] + mdV[2]*mdV[2]); } inline F64 LLVector3d::lengthSquared(void) const @@ -406,7 +406,7 @@ inline F64 dist_vec(const LLVector3d &a, const LLVector3d &b) F64 x = a.mdV[0] - b.mdV[0]; F64 y = a.mdV[1] - b.mdV[1]; F64 z = a.mdV[2] - b.mdV[2]; - return fsqrtf( x*x + y*y + z*z ); + return (F32) sqrt( x*x + y*y + z*z ); } inline F64 dist_vec_squared(const LLVector3d &a, const LLVector3d &b) diff --git a/indra/llmath/v3math.h b/indra/llmath/v3math.h index 75c860a91e..5d483a8753 100644 --- a/indra/llmath/v3math.h +++ b/indra/llmath/v3math.h @@ -282,7 +282,7 @@ inline void LLVector3::setVec(const F32 *vec) inline F32 LLVector3::normalize(void) { - F32 mag = fsqrtf(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); + F32 mag = (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); F32 oomag; if (mag > FP_MAG_THRESHOLD) @@ -305,7 +305,7 @@ inline F32 LLVector3::normalize(void) // deprecated inline F32 LLVector3::normVec(void) { - F32 mag = fsqrtf(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); + F32 mag = (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); F32 oomag; if (mag > FP_MAG_THRESHOLD) @@ -329,7 +329,7 @@ inline F32 LLVector3::normVec(void) inline F32 LLVector3::length(void) const { - return fsqrtf(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); + return (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); } inline F32 LLVector3::lengthSquared(void) const @@ -339,7 +339,7 @@ inline F32 LLVector3::lengthSquared(void) const inline F32 LLVector3::magVec(void) const { - return fsqrtf(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); + return (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]); } inline F32 LLVector3::magVecSquared(void) const @@ -473,7 +473,7 @@ inline F32 dist_vec(const LLVector3 &a, const LLVector3 &b) F32 x = a.mV[0] - b.mV[0]; F32 y = a.mV[1] - b.mV[1]; F32 z = a.mV[2] - b.mV[2]; - return fsqrtf( x*x + y*y + z*z ); + return (F32) sqrt( x*x + y*y + z*z ); } inline F32 dist_vec_squared(const LLVector3 &a, const LLVector3 &b) diff --git a/indra/llmath/v4color.h b/indra/llmath/v4color.h index 6b63b976b0..dd92e1cc63 100644 --- a/indra/llmath/v4color.h +++ b/indra/llmath/v4color.h @@ -392,7 +392,7 @@ inline const LLColor4& LLColor4::setAlpha(F32 a) inline F32 LLColor4::length(void) const { - return fsqrtf(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); + return (F32) sqrt(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); } inline F32 LLColor4::lengthSquared(void) const @@ -402,7 +402,7 @@ inline F32 LLColor4::lengthSquared(void) const inline F32 LLColor4::normalize(void) { - F32 mag = fsqrtf(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); + F32 mag = (F32) sqrt(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); F32 oomag; if (mag) @@ -418,7 +418,7 @@ inline F32 LLColor4::normalize(void) // deprecated inline F32 LLColor4::magVec(void) const { - return fsqrtf(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); + return (F32) sqrt(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); } // deprecated @@ -430,7 +430,7 @@ inline F32 LLColor4::magVecSquared(void) const // deprecated inline F32 LLColor4::normVec(void) { - F32 mag = fsqrtf(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); + F32 mag = (F32) sqrt(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); F32 oomag; if (mag) diff --git a/indra/llmath/v4coloru.h b/indra/llmath/v4coloru.h index 4ec5a345eb..08245403a1 100644 --- a/indra/llmath/v4coloru.h +++ b/indra/llmath/v4coloru.h @@ -300,7 +300,7 @@ inline const LLColor4U& LLColor4U::setAlpha(U8 a) inline F32 LLColor4U::length(void) const { - return fsqrtf( ((F32)mV[VX]) * mV[VX] + ((F32)mV[VY]) * mV[VY] + ((F32)mV[VZ]) * mV[VZ] ); + return (F32) sqrt( ((F32)mV[VX]) * mV[VX] + ((F32)mV[VY]) * mV[VY] + ((F32)mV[VZ]) * mV[VZ] ); } inline F32 LLColor4U::lengthSquared(void) const @@ -311,7 +311,7 @@ inline F32 LLColor4U::lengthSquared(void) const // deprecated inline F32 LLColor4U::magVec(void) const { - return fsqrtf( ((F32)mV[VX]) * mV[VX] + ((F32)mV[VY]) * mV[VY] + ((F32)mV[VZ]) * mV[VZ] ); + return (F32) sqrt( ((F32)mV[VX]) * mV[VX] + ((F32)mV[VY]) * mV[VY] + ((F32)mV[VZ]) * mV[VZ] ); } // deprecated diff --git a/indra/llmath/v4math.h b/indra/llmath/v4math.h index 4c82e6b629..72a477ed20 100644 --- a/indra/llmath/v4math.h +++ b/indra/llmath/v4math.h @@ -321,7 +321,7 @@ inline void LLVector4::setVec(const F32 *vec) inline F32 LLVector4::length(void) const { - return fsqrtf(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); + return (F32) sqrt(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); } inline F32 LLVector4::lengthSquared(void) const @@ -331,7 +331,7 @@ inline F32 LLVector4::lengthSquared(void) const inline F32 LLVector4::magVec(void) const { - return fsqrtf(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); + return (F32) sqrt(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); } inline F32 LLVector4::magVecSquared(void) const @@ -463,7 +463,7 @@ inline LLVector4 lerp(const LLVector4 &a, const LLVector4 &b, F32 u) inline F32 LLVector4::normalize(void) { - F32 mag = fsqrtf(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); + F32 mag = (F32) sqrt(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); F32 oomag; if (mag > FP_MAG_THRESHOLD) @@ -486,7 +486,7 @@ inline F32 LLVector4::normalize(void) // deprecated inline F32 LLVector4::normVec(void) { - F32 mag = fsqrtf(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); + F32 mag = (F32) sqrt(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]); F32 oomag; if (mag > FP_MAG_THRESHOLD) diff --git a/indra/llmessage/llsdmessagebuilder.cpp b/indra/llmessage/llsdmessagebuilder.cpp index 6e41b03895..2680dd0b77 100755 --- a/indra/llmessage/llsdmessagebuilder.cpp +++ b/indra/llmessage/llsdmessagebuilder.cpp @@ -35,6 +35,7 @@ #include "llsdmessagebuilder.h" #include "llmessagetemplate.h" +#include "llmath.h" #include "llquaternion.h" #include "llsdutil.h" #include "llsdutil_math.h" diff --git a/indra/llmessage/lltemplatemessagebuilder.cpp b/indra/llmessage/lltemplatemessagebuilder.cpp index fa02456d90..6f9707ed57 100644 --- a/indra/llmessage/lltemplatemessagebuilder.cpp +++ b/indra/llmessage/lltemplatemessagebuilder.cpp @@ -35,6 +35,7 @@ #include "lltemplatemessagebuilder.h" #include "llmessagetemplate.h" +#include "llmath.h" #include "llquaternion.h" #include "u64.h" #include "v3dmath.h" diff --git a/indra/llmessage/lltemplatemessagereader.cpp b/indra/llmessage/lltemplatemessagereader.cpp index 8f56cf2521..2b67e9f6fa 100644 --- a/indra/llmessage/lltemplatemessagereader.cpp +++ b/indra/llmessage/lltemplatemessagereader.cpp @@ -36,6 +36,7 @@ #include "llfasttimer.h" #include "llmessagebuilder.h" #include "llmessagetemplate.h" +#include "llmath.h" #include "llquaternion.h" #include "message.h" #include "u64.h" diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index 70601663e6..2b1a9bbf94 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -924,7 +924,7 @@ LLVector3 LLRender::getUITranslation() { llerrs << "UI offset stack empty." << llendl; } - return LLVector3(mUIOffset[mUIStackDepth-1].getF32()); + return LLVector3(mUIOffset[mUIStackDepth-1].getF32ptr()); } LLVector3 LLRender::getUIScale() @@ -933,7 +933,7 @@ LLVector3 LLRender::getUIScale() { llerrs << "UI scale stack empty." << llendl; } - return LLVector3(mUIScale[mUIStackDepth-1].getF32()); + return LLVector3(mUIScale[mUIStackDepth-1].getF32ptr()); } diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 72d51540ef..5fae5b893f 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1210,7 +1210,7 @@ void LLAgent::startAutoPilotGlobal(const LLVector3d &target_global, const std::s else { // Guess at a reasonable stop distance. - mAutoPilotStopDistance = fsqrtf( distance ); + mAutoPilotStopDistance = (F32) sqrt( distance ); if (mAutoPilotStopDistance < 0.5f) { mAutoPilotStopDistance = 0.5f; diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index 8d0a06378f..68f52e04bc 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -743,7 +743,7 @@ void LLDrawable::updateDistance(LLCamera& camera, bool force_update) } else { - pos = LLVector3(getPositionGroup().getF32()); + pos = LLVector3(getPositionGroup().getF32ptr()); } pos -= camera.getOrigin(); @@ -824,7 +824,7 @@ void LLDrawable::shiftPos(const LLVector4a &shift_vector) for (S32 i = 0; i < getNumFaces(); i++) { LLFace *facep = getFace(i); - facep->mCenterAgent += LLVector3(shift_vector.getF32()); + facep->mCenterAgent += LLVector3(shift_vector.getF32ptr()); facep->mExtents[0].add(shift_vector); facep->mExtents[1].add(shift_vector); @@ -1153,13 +1153,13 @@ void LLSpatialBridge::updateSpatialExtents() LLVector4a max; max.setAdd(center, delta); - newMin.setMin(min); - newMax.setMax(max); + newMin.setMin(newMin, min); + newMax.setMax(newMax, max); } LLVector4a diagonal; diagonal.setSub(newMax, newMin); - mRadius = diagonal.length3() * 0.5f; + mRadius = diagonal.getLength3().getF32() * 0.5f; mPositionGroup->setAdd(newMin,newMax); mPositionGroup->mul(0.5f); diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index af082eea3e..d698624c15 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -37,6 +37,7 @@ #include "llvoavatar.h" #include "m3math.h" +#include "llmatrix4a.h" #include "llagent.h" //for gAgent.needsRenderAvatar() #include "lldrawable.h" @@ -495,7 +496,7 @@ S32 LLDrawPoolAvatar::getNumPasses() } else { - return 3; + return 4; } #else if (LLPipeline::sImpostorRender) @@ -814,26 +815,46 @@ void LLDrawPoolAvatar::endSkinned() #if LL_MESH_ENABLED void LLDrawPoolAvatar::beginRiggedSimple() { - if (LLPipeline::sUnderWaterRender) + if (sShaderLevel > 0) { - sVertexProgram = &gSkinnedObjectSimpleWaterProgram; + if (LLPipeline::sUnderWaterRender) + { + sVertexProgram = &gSkinnedObjectSimpleWaterProgram; + } + else + { + sVertexProgram = &gSkinnedObjectSimpleProgram; + } } else { - sVertexProgram = &gSkinnedObjectSimpleProgram; + if (LLPipeline::sUnderWaterRender) + { + sVertexProgram = &gObjectSimpleWaterProgram; + } + else + { + sVertexProgram = &gObjectSimpleProgram; + } } - sDiffuseChannel = 0; - sVertexProgram->bind(); - LLVertexBuffer::sWeight4Loc = sVertexProgram->getAttribLocation(LLViewerShaderMgr::OBJECT_WEIGHT); + if (sShaderLevel > 0 || gPipeline.canUseVertexShaders()) + { + sDiffuseChannel = 0; + sVertexProgram->bind(); + LLVertexBuffer::sWeight4Loc = sVertexProgram->getAttribLocation(LLViewerShaderMgr::OBJECT_WEIGHT); + } } void LLDrawPoolAvatar::endRiggedSimple() { LLVertexBuffer::unbind(); - sVertexProgram->unbind(); - sVertexProgram = NULL; - LLVertexBuffer::sWeight4Loc = -1; + if (sShaderLevel > 0 || gPipeline.canUseVertexShaders()) + { + sVertexProgram->unbind(); + sVertexProgram = NULL; + LLVertexBuffer::sWeight4Loc = -1; + } } void LLDrawPoolAvatar::beginRiggedAlpha() @@ -1281,8 +1302,10 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass) } #if LL_MESH_ENABLED -void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLFace* face, const LLMeshSkinInfo* skin, LLVolume* volume, const LLVolumeFace& vol_face) +void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLVOAvatar* avatar, LLFace* face, const LLMeshSkinInfo* skin, LLVolume* volume, const LLVolumeFace& vol_face) { + LLVertexBuffer* buffer = face->mVertexBuffer; + U32 data_mask = 0; for (U32 i = 0; i < face->mRiggedIndex.size(); ++i) { @@ -1292,17 +1315,23 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLFace* face, const LLMeshSk } } - LLVertexBuffer* buff = face->mVertexBuffer; - - if (!buff || - buff->getTypeMask() != data_mask || - buff->getRequestedVerts() != vol_face.mNumVertices) + if (!buffer || + buffer->getTypeMask() != data_mask || + buffer->getRequestedVerts() != vol_face.mNumVertices) { face->setGeomIndex(0); face->setIndicesIndex(0); face->setSize(vol_face.mNumVertices, vol_face.mNumIndices, true); - face->mVertexBuffer = new LLVertexBuffer(data_mask, 0); + if (sShaderLevel > 0) + { + face->mVertexBuffer = new LLVertexBuffer(data_mask, GL_DYNAMIC_DRAW_ARB); + } + else + { + face->mVertexBuffer = new LLVertexBuffer(data_mask, GL_STREAM_DRAW_ARB); + } + face->mVertexBuffer->allocateBuffer(face->getGeomCount(), face->getIndicesCount(), true); U16 offset = 0; @@ -1319,7 +1348,83 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLFace* face, const LLMeshSk LLMatrix3 mat_normal(mat3); face->getGeometryVolume(*volume, face->getTEOffset(), mat_vert, mat_normal, offset, true); - buff = face->mVertexBuffer; + buffer = face->mVertexBuffer; + } + + if (sShaderLevel <= 0 && face->mLastSkinTime < avatar->getLastSkinTime()) + { //perform software vertex skinning for this face + LLStrider position; + LLStrider normal; + + buffer->getVertexStrider(position); + buffer->getNormalStrider(normal); + + LLVector4a* pos = (LLVector4a*) position.get(); + LLVector4a* norm = (LLVector4a*) normal.get(); + + //build matrix palette + LLMatrix4a mp[64]; + LLMatrix4* mat = (LLMatrix4*) mp; + + for (U32 j = 0; j < skin->mJointNames.size(); ++j) + { + LLJoint* joint = avatar->getJoint(skin->mJointNames[j]); + if (joint) + { + mat[j] = skin->mInvBindMatrix[j]; + mat[j] *= joint->getWorldMatrix(); + } + } + + LLVector4a* weight = vol_face.mWeights; + + LLMatrix4a bind_shape_matrix; + bind_shape_matrix.loadu(skin->mBindShapeMatrix); + + for (U32 j = 0; j < buffer->getRequestedVerts(); ++j) + { + LLMatrix4a final_mat; + final_mat.clear(); + + S32 idx[4]; + + LLVector4 wght; + + F32 scale = 0.f; + for (U32 k = 0; k < 4; k++) + { + F32 w = weight[j][k]; + + idx[k] = (S32) floorf(w); + wght[k] = w - floorf(w); + scale += wght[k]; + } + + wght *= 1.f/scale; + + for (U32 k = 0; k < 4; k++) + { + F32 w = wght[k]; + + LLMatrix4a src; + src.setMul(mp[idx[k]], w); + + final_mat.add(src); + } + + + LLVector4a& v = vol_face.mPositions[j]; + LLVector4a t; + LLVector4a dst; + bind_shape_matrix.affineTransform(v, t); + final_mat.affineTransform(t, dst); + pos[j] = dst; + + LLVector4a& n = vol_face.mNormals[j]; + bind_shape_matrix.rotate(n, t); + final_mat.rotate(t, dst); + norm[j] = dst; + } } } @@ -1371,7 +1476,7 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow) stop_glerror(); const LLVolumeFace& vol_face = volume->getVolumeFace(te); - updateRiggedFaceVertexBuffer(face, skin, volume, vol_face); + updateRiggedFaceVertexBuffer(avatar, face, skin, volume, vol_face); stop_glerror(); @@ -1381,30 +1486,37 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow) if (buff) { - LLMatrix4 mat[64]; + if (sShaderLevel > 0) + { //upload matrix palette to shader + LLMatrix4 mat[64]; - for (U32 i = 0; i < skin->mJointNames.size(); ++i) - { - LLJoint* joint = avatar->getJoint(skin->mJointNames[i]); - if (joint) + for (U32 i = 0; i < skin->mJointNames.size(); ++i) { - mat[i] = skin->mInvBindMatrix[i]; - mat[i] *= joint->getWorldMatrix(); + LLJoint* joint = avatar->getJoint(skin->mJointNames[i]); + if (joint) + { + mat[i] = skin->mInvBindMatrix[i]; + mat[i] *= joint->getWorldMatrix(); + } } + + stop_glerror(); + + LLDrawPoolAvatar::sVertexProgram->uniformMatrix4fv("matrixPalette", + skin->mJointNames.size(), + FALSE, + (GLfloat*) mat[0].mMatrix); + LLDrawPoolAvatar::sVertexProgram->uniformMatrix4fv("matrixPalette[0]", + skin->mJointNames.size(), + FALSE, + (GLfloat*) mat[0].mMatrix); + + stop_glerror(); + } + else + { + data_mask &= ~LLVertexBuffer::MAP_WEIGHT4; } - - stop_glerror(); - - LLDrawPoolAvatar::sVertexProgram->uniformMatrix4fv("matrixPalette", - skin->mJointNames.size(), - FALSE, - (GLfloat*) mat[0].mMatrix); - LLDrawPoolAvatar::sVertexProgram->uniformMatrix4fv("matrixPalette[0]", - skin->mJointNames.size(), - FALSE, - (GLfloat*) mat[0].mMatrix); - - stop_glerror(); buff->setBuffer(data_mask); diff --git a/indra/newview/lldrawpoolavatar.h b/indra/newview/lldrawpoolavatar.h index b01394534b..d08ae04516 100644 --- a/indra/newview/lldrawpoolavatar.h +++ b/indra/newview/lldrawpoolavatar.h @@ -138,7 +138,8 @@ public: void endDeferredRiggedSimple(); void endDeferredRiggedBump(); - void updateRiggedFaceVertexBuffer(LLFace* facep, + void updateRiggedFaceVertexBuffer(LLVOAvatar* avatar, + LLFace* facep, const LLMeshSkinInfo* skin, LLVolume* volume, const LLVolumeFace& vol_face); diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 8533f9710c..5d7d3387a4 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -106,8 +106,8 @@ void planarProjection(LLVector2 &tc, const LLVector4a& normal, LLVector4a tangent; tangent.setCross3(binormal,normal); - tc.mV[1] = -((tangent.dot3(vec))*2 - 0.5f); - tc.mV[0] = 1.0f+((binormal.dot3(vec))*2 - 0.5f); + tc.mV[1] = -((tangent.dot3(vec).getF32())*2 - 0.5f); + tc.mV[0] = 1.0f+((binormal.dot3(vec).getF32())*2 - 0.5f); } void sphericalProjection(LLVector2 &tc, const LLVector4a& normal, @@ -156,6 +156,7 @@ void LLFace::init(LLDrawable* drawablep, LLViewerObject* objp) mLastUpdateTime = gFrameTimeSeconds; mLastMoveTime = 0.f; + mLastSkinTime = gFrameTimeSeconds; mVSize = 0.f; mPixelArea = 16.f; mState = GLOBAL; @@ -828,8 +829,8 @@ BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f, LLVector4a max; max.setAdd(center, delta); - newMin.setMin(min); - newMax.setMax(max); + newMin.setMin(newMin,min); + newMax.setMax(newMax,max); } if (!mDrawablep->isActive()) @@ -844,11 +845,11 @@ BOOL LLFace::genVolumeBBoxes(const LLVolume &volume, S32 f, t.mul(0.5f); //VECTORIZE THIS - mCenterLocal.set(t.getF32()); + mCenterLocal.set(t.getF32ptr()); t.setSub(newMax,newMin); t.mul(0.5f); - mBoundingSphereRadius = t.length3(); + mBoundingSphereRadius = t.getLength3().getF32(); updateCenterAgent(); } @@ -1313,7 +1314,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, { if (!do_xform) { - LLVector4a::memcpyNonAliased16((F32*) tex_coords.get(), (F32*) vf.mTexCoords, num_vertices*2); + LLVector4a::memcpyNonAliased16((F32*) tex_coords.get(), (F32*) vf.mTexCoords, num_vertices*2*sizeof(F32)); } else { @@ -1529,13 +1530,13 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, if (mDrawablep->isActive()) { LLVector3 t; - t.set(binormal.getF32()); + t.set(binormal.getF32ptr()); t *= bump_quat; binormal.load3(t.mV); } binormal.normalize3fast(); - tc += LLVector2( bump_s_primary_light_ray.dot3(tangent), bump_t_primary_light_ray.dot3(binormal) ); + tc += LLVector2( bump_s_primary_light_ray.dot3(tangent).getF32(), bump_t_primary_light_ray.dot3(binormal).getF32() ); *tex_coords2++ = tc; } @@ -1583,7 +1584,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, if (rebuild_weights && vf.mWeights) { - LLVector4a::memcpyNonAliased16((F32*) weights, (F32*) vf.mWeights, num_vertices*4); + LLVector4a::memcpyNonAliased16((F32*) weights, (F32*) vf.mWeights, num_vertices*4*sizeof(F32)); } if (rebuild_color) @@ -1705,21 +1706,21 @@ BOOL LLFace::calcPixelArea(F32& cos_angle_to_view_dir, F32& radius) LLViewerCamera* camera = LLViewerCamera::getInstance(); - F32 size_squared = size.dot3(size); + F32 size_squared = size.dot3(size).getF32(); LLVector4a lookAt; LLVector4a t; t.load3(camera->getOrigin().mV); lookAt.setSub(center, t); - F32 dist = lookAt.length3(); + F32 dist = lookAt.getLength3().getF32(); lookAt.normalize3fast() ; //get area of circle around node - F32 app_angle = atanf(fsqrtf(size_squared) / dist); + F32 app_angle = atanf((F32) sqrt(size_squared) / dist); radius = app_angle*LLDrawable::sCurPixelAngle; mPixelArea = radius*radius * 3.14159f; LLVector4a x_axis; x_axis.load3(camera->getXAxis().mV); - cos_angle_to_view_dir = lookAt.dot3(x_axis); + cos_angle_to_view_dir = lookAt.dot3(x_axis).getF32(); //if has media, check if the face is out of the view frustum. if(hasMedia()) diff --git a/indra/newview/llface.h b/indra/newview/llface.h index b6a67c7fc4..a7d7889350 100644 --- a/indra/newview/llface.h +++ b/indra/newview/llface.h @@ -240,6 +240,7 @@ public: LLPointer mVertexBuffer; LLPointer mLastVertexBuffer; F32 mLastUpdateTime; + F32 mLastSkinTime; F32 mLastMoveTime; LLMatrix4* mTextureMatrix; LLDrawInfo* mDrawInfo; @@ -274,7 +275,7 @@ private: S32 mReferenceIndex; std::vector mRiggedIndex; - + F32 mVSize; F32 mPixelArea; diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index 8be4e34748..62336b03bf 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -100,7 +100,7 @@ void LLVolumeImplFlexible::onParameterChanged(U16 param_type, LLNetworkData *dat void LLVolumeImplFlexible::onShift(const LLVector4a &shift_vector) { //VECTORIZE THIS - LLVector3 shift(shift_vector.getF32()); + LLVector3 shift(shift_vector.getF32ptr()); for (int section = 0; section < (1<getInterest()); // proximity distance is actually distance squared -- display it as straight distance. - debug_str += llformat("%g/", fsqrtf(impl->getProximityDistance())); + debug_str += llformat("%g/", (F32) sqrt(impl->getProximityDistance())); // s += llformat("%g/", (float)impl->getCPUUsage()); // s += llformat("%g/", (float)impl->getApproximateTextureInterest()); diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp index 98fbebbc5d..d84ac2e4c8 100644 --- a/indra/newview/llpanelprimmediacontrols.cpp +++ b/indra/newview/llpanelprimmediacontrols.cpp @@ -576,8 +576,8 @@ void LLPanelPrimMediaControls::updateShape() const LLVolumeFace& vf = volume->getVolumeFace(mTargetObjectFace); LLVector3 ext[2]; - ext[0].set(vf.mExtents[0].getF32()); - ext[1].set(vf.mExtents[1].getF32()); + ext[0].set(vf.mExtents[0].getF32ptr()); + ext[1].set(vf.mExtents[1].getF32ptr()); LLVector3 center = (ext[0]+ext[1])*0.5f; LLVector3 size = (ext[1]-ext[0])*0.5f; diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 42f09f7396..92903a6aa9 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -1124,13 +1124,13 @@ void LLSelectMgr::getGrid(LLVector3& origin, LLQuaternion &rotation, LLVector3 & size.setSub(max_extents, min_extents); size.mul(0.5f); - mGridOrigin.set(center.getF32()); + mGridOrigin.set(center.getF32ptr()); LLDrawable* drawable = first_grid_object->mDrawable; if (drawable && drawable->isActive()) { mGridOrigin = mGridOrigin * first_grid_object->getRenderMatrix(); } - mGridScale.set(size.getF32()); + mGridScale.set(size.getF32ptr()); } } else // GRID_MODE_WORLD or just plain default @@ -3543,7 +3543,7 @@ void LLSelectMgr::deselectAllIfTooFar() { if (mDebugSelectMgr) { - llinfos << "Selection manager: auto-deselecting, select_dist = " << fsqrtf(select_dist_sq) << llendl; + llinfos << "Selection manager: auto-deselecting, select_dist = " << (F32) sqrt(select_dist_sq) << llendl; llinfos << "agent pos global = " << gAgent.getPositionGlobal() << llendl; llinfos << "selection pos global = " << selectionCenter << llendl; } diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index 2335c7bb8e..e55ec03356 100644 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -231,7 +231,7 @@ U8* get_box_fan_indices(LLCamera* camera, const LLVector4a& center) LLVector4a origin; origin.load3(camera->getOrigin().mV); - S32 cypher = center.greaterThan4(origin).getComparisonMask() & 0x7; + S32 cypher = center.greaterThan(origin).getGatheredBits() & 0x7; return sOcclusionIndices+cypher*8; } @@ -253,7 +253,7 @@ void LLSpatialGroup::buildOcclusion() r2.splat(0.25f); r2.add(mBounds[1]); - r.setMin(r2); + r.setMin(r, r2); LLVector4a* v = mOcclusionVerts; const LLVector4a& c = mBounds[0]; @@ -775,8 +775,8 @@ BOOL LLSpatialGroup::boundObjects(BOOL empty, LLVector4a& minOut, LLVector4a& ma } else { - minOut.setMin(newMin); - maxOut.setMax(newMax); + minOut.setMin(minOut, newMin); + maxOut.setMax(maxOut, newMax); } return TRUE; @@ -1220,8 +1220,8 @@ void LLSpatialGroup::updateDistance(LLCamera &camera) #endif if (!getData().empty()) { - mRadius = mSpatialPartition->mRenderByGroup ? mObjectBounds[1].length3() : - (F32) mOctreeNode->getSize().length3(); + mRadius = mSpatialPartition->mRenderByGroup ? mObjectBounds[1].getLength3().getF32() : + (F32) mOctreeNode->getSize().getLength3().getF32(); mDistance = mSpatialPartition->calcDistance(this, camera); mPixelArea = mSpatialPartition->calcPixelArea(this, camera); } @@ -1241,7 +1241,7 @@ F32 LLSpatialPartition::calcDistance(LLSpatialGroup* group, LLCamera& camera) { LLVector4a v = eye; - dist = eye.length3(); + dist = eye.getLength3().getF32(); eye.normalize3fast(); if (!group->isState(LLSpatialGroup::ALPHA_DIRTY)) @@ -1253,7 +1253,7 @@ F32 LLSpatialPartition::calcDistance(LLSpatialGroup* group, LLCamera& camera) LLVector4a diff; diff.setSub(view_angle, *group->mLastUpdateViewAngle); - if (diff.length3() > 0.64f) + if (diff.getLength3().getF32() > 0.64f) { *group->mViewAngle = view_angle; *group->mLastUpdateViewAngle = view_angle; @@ -1279,11 +1279,11 @@ F32 LLSpatialPartition::calcDistance(LLSpatialGroup* group, LLCamera& camera) t.mul(group->mObjectBounds[1]); v.sub(t); - group->mDepth = v.dot3(ata); + group->mDepth = v.dot3(ata).getF32(); } else { - dist = eye.length3(); + dist = eye.getLength3().getF32(); } if (dist < 16.f) @@ -1497,8 +1497,8 @@ BOOL LLSpatialGroup::rebound() const LLVector4a& max = group->mExtents[1]; const LLVector4a& min = group->mExtents[0]; - newMax.setMax(max); - newMin.setMin(min); + newMax.setMax(newMax, max); + newMin.setMin(newMin, min); } boundObjects(FALSE, newMin, newMax); @@ -2196,8 +2196,8 @@ BOOL LLSpatialPartition::getVisibleExtents(LLCamera& camera, LLVector3& visMin, LLOctreeCullVisExtents vis(&camera, visMina, visMaxa); vis.traverse(mOctree); - visMin.set(visMina.getF32()); - visMax.set(visMaxa.getF32()); + visMin.set(visMina.getF32ptr()); + visMax.set(visMaxa.getF32ptr()); return vis.mEmpty; } @@ -2280,13 +2280,13 @@ BOOL earlyFail(LLCamera* camera, LLSpatialGroup* group) LLVector4a max; max.setAdd(c,r); - S32 lt = e.lessThan4(min).getComparisonMask() & 0x7; + S32 lt = e.lessThan(min).getGatheredBits() & 0x7; if (lt) { return FALSE; } - S32 gt = e.greaterThan4(max).getComparisonMask() & 0x7; + S32 gt = e.greaterThan(max).getGatheredBits() & 0x7; if (gt) { return FALSE; @@ -2745,8 +2745,8 @@ void renderNormals(LLDrawable* drawablep) p.setAdd(face.mPositions[j], n); gGL.color4f(1,1,1,1); - gGL.vertex3fv(face.mPositions[j].getF32()); - gGL.vertex3fv(p.getF32()); + gGL.vertex3fv(face.mPositions[j].getF32ptr()); + gGL.vertex3fv(p.getF32ptr()); if (face.mBinormals) { @@ -2754,8 +2754,8 @@ void renderNormals(LLDrawable* drawablep) p.setAdd(face.mPositions[j], n); gGL.color4f(0,1,1,1); - gGL.vertex3fv(face.mPositions[j].getF32()); - gGL.vertex3fv(p.getF32()); + gGL.vertex3fv(face.mPositions[j].getF32ptr()); + gGL.vertex3fv(p.getF32ptr()); } } @@ -3024,8 +3024,8 @@ public: LLVolumeOctreeListener* vl = (LLVolumeOctreeListener*) branch->getListener(0); LLVector3 center, size; - center.set(vl->mBounds[0].getF32()); - size.set(vl->mBounds[1].getF32()); + center.set(vl->mBounds[0].getF32ptr()); + size.set(vl->mBounds[1].getF32ptr()); drawBoxOutline(center, size); } diff --git a/indra/newview/llviewercamera.cpp b/indra/newview/llviewercamera.cpp index cef7c4abbb..917185ed04 100644 --- a/indra/newview/llviewercamera.cpp +++ b/indra/newview/llviewercamera.cpp @@ -810,7 +810,7 @@ BOOL LLViewerCamera::areVertsVisible(LLViewerObject* volumep, BOOL all_verts) render_mata.affineTransform(t, vec); } - BOOL in_frustum = pointInFrustum(LLVector3(vec.getF32())) > 0; + BOOL in_frustum = pointInFrustum(LLVector3(vec.getF32ptr())) > 0; if (( !in_frustum && all_verts) || (in_frustum && !all_verts)) diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp index 9e35b5cc51..0a181e09bb 100644 --- a/indra/newview/llviewerjointmesh.cpp +++ b/indra/newview/llviewerjointmesh.cpp @@ -726,8 +726,8 @@ void LLViewerJointMesh::updateFaceData(LLFace *face, F32 pixel_area, BOOL damp_w U32 words = num_verts*4; - LLVector4a::memcpyNonAliased16(v, (F32*) mMesh->getCoords(), words); - LLVector4a::memcpyNonAliased16(n, (F32*) mMesh->getNormals(), words); + LLVector4a::memcpyNonAliased16(v, (F32*) mMesh->getCoords(), words*sizeof(F32)); + LLVector4a::memcpyNonAliased16(n, (F32*) mMesh->getNormals(), words*sizeof(F32)); if (!terse_update) @@ -740,9 +740,9 @@ void LLViewerJointMesh::updateFaceData(LLFace *face, F32 pixel_area, BOOL damp_w F32* vw = (F32*) vertex_weightsp.get(); F32* cw = (F32*) clothing_weightsp.get(); - LLVector4a::memcpyNonAliased16(tc, (F32*) mMesh->getTexCoords(), num_verts*2); - LLVector4a::memcpyNonAliased16(vw, (F32*) mMesh->getWeights(), num_verts); - LLVector4a::memcpyNonAliased16(cw, (F32*) mMesh->getClothingWeights(), num_verts*4); + LLVector4a::memcpyNonAliased16(tc, (F32*) mMesh->getTexCoords(), num_verts*2*sizeof(F32)); + LLVector4a::memcpyNonAliased16(vw, (F32*) mMesh->getWeights(), num_verts*sizeof(F32)); + LLVector4a::memcpyNonAliased16(cw, (F32*) mMesh->getClothingWeights(), num_verts*4*sizeof(F32)); } const U32 idx_count = mMesh->getNumFaces()*3; diff --git a/indra/newview/llviewerjoystick.cpp b/indra/newview/llviewerjoystick.cpp index 79d8fc7df9..16a6022b86 100644 --- a/indra/newview/llviewerjoystick.cpp +++ b/indra/newview/llviewerjoystick.cpp @@ -764,7 +764,7 @@ void LLViewerJoystick::moveAvatar(bool reset) sDelta[RX_I] += (cur_delta[RX_I] - sDelta[RX_I]) * time * feather; sDelta[RY_I] += (cur_delta[RY_I] - sDelta[RY_I]) * time * feather; - handleRun(fsqrtf(sDelta[Z_I]*sDelta[Z_I] + sDelta[X_I]*sDelta[X_I])); + handleRun((F32) sqrt(sDelta[Z_I]*sDelta[Z_I] + sDelta[X_I]*sDelta[X_I])); // Allow forward/backward movement some priority if (dom_axis == Z_I) diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 178d928f57..303f339f7d 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -865,7 +865,7 @@ void LLViewerMedia::updateMedia(void *dummy_arg) // Set the low priority size for downsampling to approximately the size the texture is displayed at. { - F32 approximate_interest_dimension = fsqrtf(pimpl->getInterest()); + F32 approximate_interest_dimension = (F32) sqrt(pimpl->getInterest()); pimpl->setLowPrioritySizeLimit(llround(approximate_interest_dimension)); } diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 2b89deaa53..9587fbafb1 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -2973,7 +2973,7 @@ F32 LLViewerObject::getBinRadius() const LLVector4a* ext = mDrawable->getSpatialExtents(); LLVector4a diff; diff.setSub(ext[1], ext[0]); - return diff.length3(); + return diff.getLength3().getF32(); } return getScale().magVec(); diff --git a/indra/newview/llviewerpartsim.cpp b/indra/newview/llviewerpartsim.cpp index 41848e8b7a..4759454ee7 100644 --- a/indra/newview/llviewerpartsim.cpp +++ b/indra/newview/llviewerpartsim.cpp @@ -161,8 +161,8 @@ LLViewerPartGroup::LLViewerPartGroup(const LLVector3 ¢er_agent, const F32 bo if (group != NULL) { - LLVector3 center(group->mOctreeNode->getCenter().getF32()); - LLVector3 size(group->mOctreeNode->getSize().getF32()); + LLVector3 center(group->mOctreeNode->getCenter().getF32ptr()); + LLVector3 size(group->mOctreeNode->getSize().getF32ptr()); size += LLVector3(0.01f, 0.01f, 0.01f); mMinObjPos = center - size; mMaxObjPos = center + size; diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 719c5b0da5..d50efe89dd 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1580,7 +1580,7 @@ F32 LLViewerFetchedTexture::calcDecodePriority() S32 cur_discard = getCurrentDiscardLevelForFetching(); bool have_all_data = (cur_discard >= 0 && (cur_discard <= mDesiredDiscardLevel)); - F32 pixel_priority = fsqrtf(mMaxVirtualSize); + F32 pixel_priority = (F32) sqrt(mMaxVirtualSize); F32 priority = 0.f; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index abf22b5e5a..e50d0fce49 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -675,6 +675,7 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id, mTexHairColor( NULL ), mTexEyeColor( NULL ), mNeedsSkin(FALSE), + mLastSkinTime(0.f), mUpdatePeriod(1), mFullyLoaded(FALSE), mPreviousFullyLoaded(FALSE), @@ -1356,7 +1357,7 @@ void LLVOAvatar::updateSpatialExtents(LLVector4a& newMin, LLVector4a &newMax) if (isImpostor() && !needsImpostorUpdate()) { LLVector3 delta = getRenderPosition() - - ((LLVector3(mDrawable->getPositionGroup().getF32())-mImpostorOffset)); + ((LLVector3(mDrawable->getPositionGroup().getF32ptr())-mImpostorOffset)); newMin.load3( (mLastAnimExtents[0] + delta).mV); newMax.load3( (mLastAnimExtents[1] + delta).mV); @@ -1364,12 +1365,12 @@ void LLVOAvatar::updateSpatialExtents(LLVector4a& newMin, LLVector4a &newMax) else { getSpatialExtents(newMin,newMax); - mLastAnimExtents[0].set(newMin.getF32()); - mLastAnimExtents[1].set(newMax.getF32()); + mLastAnimExtents[0].set(newMin.getF32ptr()); + mLastAnimExtents[1].set(newMax.getF32ptr()); LLVector4a pos_group; pos_group.setAdd(newMin,newMax); pos_group.mul(0.5f); - mImpostorOffset = LLVector3(pos_group.getF32())-getRenderPosition(); + mImpostorOffset = LLVector3(pos_group.getF32ptr())-getRenderPosition(); mDrawable->setPositionGroup(pos_group); } } @@ -1435,7 +1436,7 @@ void LLVOAvatar::getSpatialExtents(LLVector4a& newMin, LLVector4a& newMax) distance.setSub(ext[1], ext[0]); LLVector4a max_span(max_attachment_span); - S32 lt = distance.lessThan4(max_span).getComparisonMask() & 0x7; + S32 lt = distance.lessThan(max_span).getGatheredBits() & 0x7; // Only add the prim to spatial extents calculations if it isn't a megaprim. // max_attachment_span calculated at the start of the function @@ -2533,14 +2534,14 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update) getSpatialExtents(ext[0], ext[1]); LLVector4a diff; diff.setSub(ext[1], mImpostorExtents[1]); - if (diff.length3() > 0.05f) + if (diff.getLength3().getF32() > 0.05f) { mNeedsImpostorUpdate = TRUE; } else { diff.setSub(ext[0], mImpostorExtents[0]); - if (diff.length3() > 0.05f) + if (diff.getLength3().getF32() > 0.05f) { mNeedsImpostorUpdate = TRUE; } @@ -3887,7 +3888,8 @@ U32 LLVOAvatar::renderSkinned(EAvatarRenderPass pass) mMeshLOD[MESH_ID_HAIR]->updateJointGeometry(); } mNeedsSkin = FALSE; - + mLastSkinTime = gFrameTimeSeconds; + LLVertexBuffer* vb = mDrawable->getFace(0)->mVertexBuffer; if (vb) { @@ -4231,7 +4233,7 @@ void LLVOAvatar::updateTextures() if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_TEXTURE_AREA)) { - setDebugText(llformat("%4.0f:%4.0f", fsqrtf(mMinPixelArea),fsqrtf(mMaxPixelArea))); + setDebugText(llformat("%4.0f:%4.0f", (F32) sqrt(mMinPixelArea),(F32) sqrt(mMaxPixelArea))); } } @@ -5443,7 +5445,7 @@ void LLVOAvatar::setPixelAreaAndAngle(LLAgent &agent) } else { - F32 radius = size.length3(); + F32 radius = size.getLength3().getF32(); mAppAngle = (F32) atan2( radius, range) * RAD_TO_DEG; } diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 95b0665f7d..94b564fc8f 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -345,6 +345,7 @@ public: U32 renderImpostor(LLColor4U color = LLColor4U(255,255,255,255), S32 diffuse_channel = 0); U32 renderRigid(); U32 renderSkinned(EAvatarRenderPass pass); + F32 getLastSkinTime() { return mLastSkinTime; } U32 renderSkinnedAttachments(); U32 renderTransparent(BOOL first_pass); void renderCollisionVolumes(); @@ -357,6 +358,8 @@ private: bool shouldAlphaMask(); BOOL mNeedsSkin; // avatar has been animated and verts have not been updated + F32 mLastSkinTime; //value of gFrameTimeSeconds at last skin update + S32 mUpdatePeriod; S32 mNumInitFaces; //number of faces generated when creating the avatar drawable, does not inculde splitted faces due to long vertex buffer. diff --git a/indra/newview/llvograss.cpp b/indra/newview/llvograss.cpp index fe1e36cbe8..65829b213e 100644 --- a/indra/newview/llvograss.cpp +++ b/indra/newview/llvograss.cpp @@ -328,7 +328,7 @@ void LLVOGrass::updateTextures() { if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_TEXTURE_AREA)) { - setDebugText(llformat("%4.0f", fsqrtf(mPixelArea))); + setDebugText(llformat("%4.0f", (F32) sqrt(mPixelArea))); } getTEImage(0)->addTextureStats(mPixelArea); } diff --git a/indra/newview/llvosurfacepatch.cpp b/indra/newview/llvosurfacepatch.cpp index 63f662c5a1..c047758a59 100644 --- a/indra/newview/llvosurfacepatch.cpp +++ b/indra/newview/llvosurfacepatch.cpp @@ -999,8 +999,8 @@ BOOL LLVOSurfacePatch::lineSegmentIntersect(const LLVector3& start, const LLVect const LLVector4a* exta = mDrawable->getSpatialExtents(); LLVector3 ext[2]; - ext[0].set(exta[0].getF32()); - ext[1].set(exta[1].getF32()); + ext[0].set(exta[0].getF32ptr()); + ext[1].set(exta[1].getF32ptr()); F32 rad = (delta*tdelta).magVecSquared(); diff --git a/indra/newview/llvotextbubble.cpp b/indra/newview/llvotextbubble.cpp index 339da3c0bf..e790373d02 100644 --- a/indra/newview/llvotextbubble.cpp +++ b/indra/newview/llvotextbubble.cpp @@ -254,8 +254,8 @@ void LLVOTextBubble::getGeometry(S32 idx, LLVector2* dst_tc = (LLVector2*) texcoordsp.get(); LLVector2* src_tc = (LLVector2*) face.mTexCoords; - LLVector4a::memcpyNonAliased16((F32*) dst_norm, (F32*) src_norm, face.mNumVertices*4); - LLVector4a::memcpyNonAliased16((F32*) dst_tc, (F32*) src_tc, face.mNumVertices*2); + LLVector4a::memcpyNonAliased16((F32*) dst_norm, (F32*) src_norm, face.mNumVertices*4*sizeof(F32)); + LLVector4a::memcpyNonAliased16((F32*) dst_tc, (F32*) src_tc, face.mNumVertices*2*sizeof(F32)); for (U32 i = 0; i < face.mNumVertices; i++) diff --git a/indra/newview/llvotree.cpp b/indra/newview/llvotree.cpp index eb790b04cc..e3b4efb9dd 100644 --- a/indra/newview/llvotree.cpp +++ b/indra/newview/llvotree.cpp @@ -472,7 +472,7 @@ void LLVOTree::updateTextures() { if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_TEXTURE_AREA)) { - setDebugText(llformat("%4.0f", fsqrtf(mPixelArea))); + setDebugText(llformat("%4.0f", (F32) sqrt(mPixelArea))); } mTreeImagep->addTextureStats(mPixelArea); } @@ -1278,8 +1278,8 @@ BOOL LLVOTree::lineSegmentIntersect(const LLVector3& start, const LLVector3& end //VECTORIZE THIS LLVector3 ext[2]; - ext[0].set(exta[0].getF32()); - ext[1].set(exta[1].getF32()); + ext[0].set(exta[0].getF32ptr()); + ext[1].set(exta[1].getF32ptr()); LLVector3 center = (ext[1]+ext[0])*0.5f; LLVector3 size = (ext[1]-ext[0]); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 1397b64623..128fd15142 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -696,7 +696,7 @@ void LLVOVolume::updateTextureVirtualSize() const LLTextureEntry *te = face->getTextureEntry(); LLViewerTexture *imagep = face->getTexture(); if (!imagep || !te || - face->mExtents[0].equal3(face->mExtents[1])) + face->mExtents[0].equals3(face->mExtents[1])) { continue; } @@ -820,15 +820,15 @@ void LLVOVolume::updateTextureVirtualSize() if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_TEXTURE_AREA)) { - setDebugText(llformat("%.0f:%.0f", fsqrtf(min_vsize),fsqrtf(max_vsize))); + setDebugText(llformat("%.0f:%.0f", (F32) sqrt(min_vsize),(F32) sqrt(max_vsize))); } else if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_TEXTURE_PRIORITY)) { - setDebugText(llformat("%.0f:%.0f", fsqrtf(min_vsize),fsqrtf(max_vsize))); + setDebugText(llformat("%.0f:%.0f", (F32) sqrt(min_vsize),(F32) sqrt(max_vsize))); } else if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_FACE_AREA)) { - setDebugText(llformat("%.0f:%.0f", fsqrtf(min_vsize),fsqrtf(max_vsize))); + setDebugText(llformat("%.0f:%.0f", (F32) sqrt(min_vsize),(F32) sqrt(max_vsize))); } if (mPixelArea == 0) @@ -1355,8 +1355,8 @@ BOOL LLVOVolume::genBBoxes(BOOL force_global) } else { - min.setMin(face->mExtents[0]); - max.setMax(face->mExtents[1]); + min.setMin(min, face->mExtents[0]); + max.setMax(max, face->mExtents[1]); } } } @@ -1864,7 +1864,7 @@ LLVector3 LLVOVolume::getApproximateFaceNormal(U8 face_id) result.add(face.mNormals[i]); } - LLVector3 ret((F32*) &result.mQ); + LLVector3 ret(result.getF32ptr()); ret = volumeDirectionToAgent(ret); ret.normVec(); } @@ -3075,7 +3075,7 @@ F32 LLVOVolume::getBinRadius() LLVector4a rad; rad.setSub(ext[1], ext[0]); - radius = rad.length3()*0.5f; + radius = rad.getLength3().getF32()*0.5f; } else if (mDrawable->isStatic()) { diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index a1e4df8a66..53eca0d08e 100644 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -591,7 +591,7 @@ void LLWorld::updateVisibilities() region_list_t::iterator curiter = iter++; LLViewerRegion* regionp = *curiter; F32 height = regionp->getLand().getMaxZ() - regionp->getLand().getMinZ(); - F32 radius = 0.5f*fsqrtf(height * height + diagonal_squared); + F32 radius = 0.5f*(F32) sqrt(height * height + diagonal_squared); if (!regionp->getLand().hasZData() || LLViewerCamera::getInstance()->sphereInFrustum(regionp->getCenterAgent(), radius)) { @@ -612,7 +612,7 @@ void LLWorld::updateVisibilities() } F32 height = regionp->getLand().getMaxZ() - regionp->getLand().getMinZ(); - F32 radius = 0.5f*fsqrtf(height * height + diagonal_squared); + F32 radius = 0.5f*(F32) sqrt(height * height + diagonal_squared); if (LLViewerCamera::getInstance()->sphereInFrustum(regionp->getCenterAgent(), radius)) { regionp->calculateCameraDistance(); diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index fec7da1dd0..b0a7b1ce83 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -1522,7 +1522,7 @@ F32 LLPipeline::calcPixelArea(const LLVector4a& center, const LLVector4a& size, LLVector4a lookAt; lookAt.setSub(center, origin); - F32 dist = lookAt.length3(); + F32 dist = lookAt.getLength3().getF32(); //ramp down distance for nearby objects //shrink dist by dist/16. @@ -1534,7 +1534,7 @@ F32 LLPipeline::calcPixelArea(const LLVector4a& center, const LLVector4a& size, } //get area of circle around node - F32 app_angle = atanf(size.length3()/dist); + F32 app_angle = atanf(size.getLength3().getF32()/dist); F32 radius = app_angle*LLDrawable::sCurPixelAngle; return radius*radius * F_PI; } @@ -4671,7 +4671,7 @@ static F32 calc_light_dist(LLVOVolume* light, const LLVector3& cam_pos, F32 max_ { return max_dist; } - F32 dist = fsqrtf(dist2); + F32 dist = (F32) sqrt(dist2); dist *= 1.f / inten; dist -= radius; if (selected) @@ -6980,7 +6980,7 @@ void LLPipeline::renderDeferredLighting() LLVector4a center; center.load3(drawablep->getPositionAgent().mV); - const F32* c = center.getF32(); + const F32* c = center.getF32ptr(); F32 s = volume->getLightRadius()*1.5f; LLColor3 col = volume->getLightColor(); @@ -7078,7 +7078,7 @@ void LLPipeline::renderDeferredLighting() LLVector4a center; center.load3(drawablep->getPositionAgent().mV); - const F32* c = center.getF32(); + const F32* c = center.getF32ptr(); F32 s = volume->getLightRadius()*1.5f; sVisibleLightCount++; @@ -9184,8 +9184,8 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar) up.mul(up); up.normalize3fast(); - tdim.mV[0] = fabsf(half_height.dot3(left)); - tdim.mV[1] = fabsf(half_height.dot3(up)); + tdim.mV[0] = fabsf(half_height.dot3(left).getF32()); + tdim.mV[1] = fabsf(half_height.dot3(up).getF32()); glMatrixMode(GL_PROJECTION); glPushMatrix(); -- cgit v1.3 From 45df2d70f018512055ed15fa52c9efd3d8e833e8 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Thu, 19 Aug 2010 13:08:57 -0500 Subject: More line endings. --- indra/cmake/00-Common.cmake | 2 +- indra/llmath/CMakeLists.txt | 256 +++--- indra/llmath/llmath.h | 1018 +++++++++++----------- indra/llmath/llquantize.h | 316 +++---- indra/llmath/llquaternion.cpp | 1922 ++++++++++++++++++++--------------------- indra/llmath/llquaternion.h | 1188 ++++++++++++------------- 6 files changed, 2351 insertions(+), 2351 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index f10a61e1e7..8262462ced 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -68,7 +68,7 @@ if (WINDOWS) add_definitions( /Zc:wchar_t- - /arch:SSE2 + /arch:SSE2 ) endif (MSVC80 OR MSVC90) diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt index 8d85765eb8..9dadad7dd3 100644 --- a/indra/llmath/CMakeLists.txt +++ b/indra/llmath/CMakeLists.txt @@ -1,128 +1,128 @@ -# -*- cmake -*- - -project(llmath) - -include(00-Common) -include(LLCommon) - -include_directories( - ${LLCOMMON_INCLUDE_DIRS} - ) - -set(llmath_SOURCE_FILES - llbbox.cpp - llbboxlocal.cpp - llcamera.cpp - llcoordframe.cpp - llline.cpp - llmatrix3a.cpp - llmodularmath.cpp - llperlin.cpp - llquaternion.cpp - llrect.cpp - llsphere.cpp - llvector4a.cpp - llvolume.cpp - llvolumemgr.cpp - llvolumeoctree.cpp - llsdutil_math.cpp - m3math.cpp - m4math.cpp - raytrace.cpp - v2math.cpp - v3color.cpp - v3dmath.cpp - v3math.cpp - v4color.cpp - v4coloru.cpp - v4math.cpp - xform.cpp - ) - -set(llmath_HEADER_FILES - CMakeLists.txt - - camera.h - coordframe.h - llbbox.h - llbboxlocal.h - llcamera.h - llcoord.h - llcoordframe.h - llinterp.h - llline.h - llmath.h - llmatrix3a.h - llmatrix3a.inl - llmodularmath.h - lloctree.h - llperlin.h - llplane.h - llquantize.h - llquaternion.h - llquaternion2.h - llquaternion2.inl - llrect.h - llsimdmath.h - llsimdtypes.h - llsimdtypes.inl - llsphere.h - lltreenode.h - llvector4a.h - llvector4a.inl - llvector4logical.h - llv4math.h - llv4matrix3.h - llv4matrix4.h - llv4vector3.h - llvolume.h - llvolumemgr.h - llvolumeoctree.h - llsdutil_math.h - m3math.h - m4math.h - raytrace.h - v2math.h - v3color.h - v3dmath.h - v3math.h - v4color.h - v4coloru.h - v4math.h - xform.h - ) - -set_source_files_properties(${llmath_HEADER_FILES} - PROPERTIES HEADER_FILE_ONLY TRUE) - -list(APPEND llmath_SOURCE_FILES ${llmath_HEADER_FILES}) - -add_library (llmath ${llmath_SOURCE_FILES}) - -# Add tests -if (LL_TESTS) - include(LLAddBuildTest) - # UNIT TESTS - SET(llmath_TEST_SOURCE_FILES - llbboxlocal.cpp - llmodularmath.cpp - llrect.cpp - v2math.cpp - v3color.cpp - v4color.cpp - v4coloru.cpp - ) - LL_ADD_PROJECT_UNIT_TESTS(llmath "${llmath_TEST_SOURCE_FILES}") - - # INTEGRATION TESTS - set(test_libs llmath llcommon ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) - # TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests. - LL_ADD_INTEGRATION_TEST(llbbox llbbox.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(llquaternion llquaternion.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(mathmisc "" "${test_libs}") - LL_ADD_INTEGRATION_TEST(m3math "" "${test_libs}") - LL_ADD_INTEGRATION_TEST(v3dmath v3dmath.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(v3math v3math.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(v4math v4math.cpp "${test_libs}") - LL_ADD_INTEGRATION_TEST(xform xform.cpp "${test_libs}") -endif (LL_TESTS) +# -*- cmake -*- + +project(llmath) + +include(00-Common) +include(LLCommon) + +include_directories( + ${LLCOMMON_INCLUDE_DIRS} + ) + +set(llmath_SOURCE_FILES + llbbox.cpp + llbboxlocal.cpp + llcamera.cpp + llcoordframe.cpp + llline.cpp + llmatrix3a.cpp + llmodularmath.cpp + llperlin.cpp + llquaternion.cpp + llrect.cpp + llsphere.cpp + llvector4a.cpp + llvolume.cpp + llvolumemgr.cpp + llvolumeoctree.cpp + llsdutil_math.cpp + m3math.cpp + m4math.cpp + raytrace.cpp + v2math.cpp + v3color.cpp + v3dmath.cpp + v3math.cpp + v4color.cpp + v4coloru.cpp + v4math.cpp + xform.cpp + ) + +set(llmath_HEADER_FILES + CMakeLists.txt + + camera.h + coordframe.h + llbbox.h + llbboxlocal.h + llcamera.h + llcoord.h + llcoordframe.h + llinterp.h + llline.h + llmath.h + llmatrix3a.h + llmatrix3a.inl + llmodularmath.h + lloctree.h + llperlin.h + llplane.h + llquantize.h + llquaternion.h + llquaternion2.h + llquaternion2.inl + llrect.h + llsimdmath.h + llsimdtypes.h + llsimdtypes.inl + llsphere.h + lltreenode.h + llvector4a.h + llvector4a.inl + llvector4logical.h + llv4math.h + llv4matrix3.h + llv4matrix4.h + llv4vector3.h + llvolume.h + llvolumemgr.h + llvolumeoctree.h + llsdutil_math.h + m3math.h + m4math.h + raytrace.h + v2math.h + v3color.h + v3dmath.h + v3math.h + v4color.h + v4coloru.h + v4math.h + xform.h + ) + +set_source_files_properties(${llmath_HEADER_FILES} + PROPERTIES HEADER_FILE_ONLY TRUE) + +list(APPEND llmath_SOURCE_FILES ${llmath_HEADER_FILES}) + +add_library (llmath ${llmath_SOURCE_FILES}) + +# Add tests +if (LL_TESTS) + include(LLAddBuildTest) + # UNIT TESTS + SET(llmath_TEST_SOURCE_FILES + llbboxlocal.cpp + llmodularmath.cpp + llrect.cpp + v2math.cpp + v3color.cpp + v4color.cpp + v4coloru.cpp + ) + LL_ADD_PROJECT_UNIT_TESTS(llmath "${llmath_TEST_SOURCE_FILES}") + + # INTEGRATION TESTS + set(test_libs llmath llcommon ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) + # TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests. + LL_ADD_INTEGRATION_TEST(llbbox llbbox.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(llquaternion llquaternion.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(mathmisc "" "${test_libs}") + LL_ADD_INTEGRATION_TEST(m3math "" "${test_libs}") + LL_ADD_INTEGRATION_TEST(v3dmath v3dmath.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(v3math v3math.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(v4math v4math.cpp "${test_libs}") + LL_ADD_INTEGRATION_TEST(xform xform.cpp "${test_libs}") +endif (LL_TESTS) diff --git a/indra/llmath/llmath.h b/indra/llmath/llmath.h index 742bbc4751..e572381b1a 100644 --- a/indra/llmath/llmath.h +++ b/indra/llmath/llmath.h @@ -1,509 +1,509 @@ -/** - * @file llmath.h - * @brief Useful math constants and macros. - * - * $LicenseInfo:firstyear=2000&license=viewergpl$ - * - * Copyright (c) 2000-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#ifndef LLMATH_H -#define LLMATH_H - -#include -#include -#include "lldefs.h" -//#include "llstl.h" // *TODO: Remove when LLString is gone -//#include "llstring.h" // *TODO: Remove when LLString is gone -// lltut.h uses is_approx_equal_fraction(). This was moved to its own header -// file in llcommon so we can use lltut.h for llcommon tests without making -// llcommon depend on llmath. -#include "is_approx_equal_fraction.h" - -// work around for Windows & older gcc non-standard function names. -#if LL_WINDOWS -#include -#define llisnan(val) _isnan(val) -#define llfinite(val) _finite(val) -#elif (LL_LINUX && __GNUC__ <= 2) -#define llisnan(val) isnan(val) -#define llfinite(val) isfinite(val) -#elif LL_SOLARIS -#define llisnan(val) isnan(val) -#define llfinite(val) (val <= std::numeric_limits::max()) -#else -#define llisnan(val) std::isnan(val) -#define llfinite(val) std::isfinite(val) -#endif - -// Single Precision Floating Point Routines -// (There used to be more defined here, but they appeared to be redundant and -// were breaking some other includes. Removed by Falcon, reviewed by Andrew, 11/25/09) -/*#ifndef tanf -#define tanf(x) ((F32)tan((F64)(x))) -#endif*/ - -const F32 GRAVITY = -9.8f; - -// mathematical constants -const F32 F_PI = 3.1415926535897932384626433832795f; -const F32 F_TWO_PI = 6.283185307179586476925286766559f; -const F32 F_PI_BY_TWO = 1.5707963267948966192313216916398f; -const F32 F_SQRT_TWO_PI = 2.506628274631000502415765284811f; -const F32 F_E = 2.71828182845904523536f; -const F32 F_SQRT2 = 1.4142135623730950488016887242097f; -const F32 F_SQRT3 = 1.73205080756888288657986402541f; -const F32 OO_SQRT2 = 0.7071067811865475244008443621049f; -const F32 DEG_TO_RAD = 0.017453292519943295769236907684886f; -const F32 RAD_TO_DEG = 57.295779513082320876798154814105f; -const F32 F_APPROXIMATELY_ZERO = 0.00001f; -const F32 F_LN2 = 0.69314718056f; -const F32 OO_LN2 = 1.4426950408889634073599246810019f; - -const F32 F_ALMOST_ZERO = 0.0001f; -const F32 F_ALMOST_ONE = 1.0f - F_ALMOST_ZERO; - -// BUG: Eliminate in favor of F_APPROXIMATELY_ZERO above? -const F32 FP_MAG_THRESHOLD = 0.0000001f; - -// TODO: Replace with logic like is_approx_equal -inline BOOL is_approx_zero( F32 f ) { return (-F_APPROXIMATELY_ZERO < f) && (f < F_APPROXIMATELY_ZERO); } - -// These functions work by interpreting sign+exp+mantissa as an unsigned -// integer. -// For example: -// x = 1 00000010 00000000000000000000000 -// y = 1 00000001 11111111111111111111111 -// -// interpreted as ints = -// x = 10000001000000000000000000000000 -// y = 10000000111111111111111111111111 -// which is clearly a different of 1 in the least significant bit -// Values with the same exponent can be trivially shown to work. -// -// WARNING: Denormals of opposite sign do not work -// x = 1 00000000 00000000000000000000001 -// y = 0 00000000 00000000000000000000001 -// Although these values differ by 2 in the LSB, the sign bit makes -// the int comparison fail. -// -// WARNING: NaNs can compare equal -// There is no special treatment of exceptional values like NaNs -// -// WARNING: Infinity is comparable with F32_MAX and negative -// infinity is comparable with F32_MIN - -inline BOOL is_approx_equal(F32 x, F32 y) -{ - const S32 COMPARE_MANTISSA_UP_TO_BIT = 0x02; - return (std::abs((S32) ((U32&)x - (U32&)y) ) < COMPARE_MANTISSA_UP_TO_BIT); -} - -inline BOOL is_approx_equal(F64 x, F64 y) -{ - const S64 COMPARE_MANTISSA_UP_TO_BIT = 0x02; - return (std::abs((S32) ((U64&)x - (U64&)y) ) < COMPARE_MANTISSA_UP_TO_BIT); -} - -inline S32 llabs(const S32 a) -{ - return S32(std::labs(a)); -} - -inline F32 llabs(const F32 a) -{ - return F32(std::fabs(a)); -} - -inline F64 llabs(const F64 a) -{ - return F64(std::fabs(a)); -} - -inline S32 lltrunc( F32 f ) -{ -#if LL_WINDOWS && !defined( __INTEL_COMPILER ) - // Avoids changing the floating point control word. - // Add or subtract 0.5 - epsilon and then round - const static U32 zpfp[] = { 0xBEFFFFFF, 0x3EFFFFFF }; - S32 result; - __asm { - fld f - mov eax, f - shr eax, 29 - and eax, 4 - fadd dword ptr [zpfp + eax] - fistp result - } - return result; -#else - return (S32)f; -#endif -} - -inline S32 lltrunc( F64 f ) -{ - return (S32)f; -} - -inline S32 llfloor( F32 f ) -{ -#if LL_WINDOWS && !defined( __INTEL_COMPILER ) - // Avoids changing the floating point control word. - // Accurate (unlike Stereopsis version) for all values between S32_MIN and S32_MAX and slightly faster than Stereopsis version. - // Add -(0.5 - epsilon) and then round - const U32 zpfp = 0xBEFFFFFF; - S32 result; - __asm { - fld f - fadd dword ptr [zpfp] - fistp result - } - return result; -#else - return (S32)floor(f); -#endif -} - - -inline S32 llceil( F32 f ) -{ - // This could probably be optimized, but this works. - return (S32)ceil(f); -} - - -#ifndef BOGUS_ROUND -// Use this round. Does an arithmetic round (0.5 always rounds up) -inline S32 llround(const F32 val) -{ - return llfloor(val + 0.5f); -} - -#else // BOGUS_ROUND -// Old llround implementation - does banker's round (toward nearest even in the case of a 0.5. -// Not using this because we don't have a consistent implementation on both platforms, use -// llfloor(val + 0.5f), which is consistent on all platforms. -inline S32 llround(const F32 val) -{ - #if LL_WINDOWS - // Note: assumes that the floating point control word is set to rounding mode (the default) - S32 ret_val; - _asm fld val - _asm fistp ret_val; - return ret_val; - #elif LL_LINUX - // Note: assumes that the floating point control word is set - // to rounding mode (the default) - S32 ret_val; - __asm__ __volatile__( "flds %1 \n\t" - "fistpl %0 \n\t" - : "=m" (ret_val) - : "m" (val) ); - return ret_val; - #else - return llfloor(val + 0.5f); - #endif -} - -// A fast arithmentic round on intel, from Laurent de Soras http://ldesoras.free.fr -inline int round_int(double x) -{ - const float round_to_nearest = 0.5f; - int i; - __asm - { - fld x - fadd st, st (0) - fadd round_to_nearest - fistp i - sar i, 1 - } - return (i); -} -#endif // BOGUS_ROUND - -inline F32 llround( F32 val, F32 nearest ) -{ - return F32(floor(val * (1.0f / nearest) + 0.5f)) * nearest; -} - -inline F64 llround( F64 val, F64 nearest ) -{ - return F64(floor(val * (1.0 / nearest) + 0.5)) * nearest; -} - -// these provide minimum peak error -// -// avg error = -0.013049 -// peak error = -31.4 dB -// RMS error = -28.1 dB - -const F32 FAST_MAG_ALPHA = 0.960433870103f; -const F32 FAST_MAG_BETA = 0.397824734759f; - -// these provide minimum RMS error -// -// avg error = 0.000003 -// peak error = -32.6 dB -// RMS error = -25.7 dB -// -//const F32 FAST_MAG_ALPHA = 0.948059448969f; -//const F32 FAST_MAG_BETA = 0.392699081699f; - -inline F32 fastMagnitude(F32 a, F32 b) -{ - a = (a > 0) ? a : -a; - b = (b > 0) ? b : -b; - return(FAST_MAG_ALPHA * llmax(a,b) + FAST_MAG_BETA * llmin(a,b)); -} - - - -//////////////////// -// -// Fast F32/S32 conversions -// -// Culled from www.stereopsis.com/FPU.html - -const F64 LL_DOUBLE_TO_FIX_MAGIC = 68719476736.0*1.5; //2^36 * 1.5, (52-_shiftamt=36) uses limited precisicion to floor -const S32 LL_SHIFT_AMOUNT = 16; //16.16 fixed point representation, - -// Endian dependent code -#ifdef LL_LITTLE_ENDIAN - #define LL_EXP_INDEX 1 - #define LL_MAN_INDEX 0 -#else - #define LL_EXP_INDEX 0 - #define LL_MAN_INDEX 1 -#endif - -/* Deprecated: use llround(), lltrunc(), or llfloor() instead -// ================================================================================================ -// Real2Int -// ================================================================================================ -inline S32 F64toS32(F64 val) -{ - val = val + LL_DOUBLE_TO_FIX_MAGIC; - return ((S32*)&val)[LL_MAN_INDEX] >> LL_SHIFT_AMOUNT; -} - -// ================================================================================================ -// Real2Int -// ================================================================================================ -inline S32 F32toS32(F32 val) -{ - return F64toS32 ((F64)val); -} -*/ - -//////////////////////////////////////////////// -// -// Fast exp and log -// - -// Implementation of fast exp() approximation (from a paper by Nicol N. Schraudolph -// http://www.inf.ethz.ch/~schraudo/pubs/exp.pdf -static union -{ - double d; - struct - { -#ifdef LL_LITTLE_ENDIAN - S32 j, i; -#else - S32 i, j; -#endif - } n; -} LLECO; // not sure what the name means - -#define LL_EXP_A (1048576 * OO_LN2) // use 1512775 for integer -#define LL_EXP_C (60801) // this value of C good for -4 < y < 4 - -#define LL_FAST_EXP(y) (LLECO.n.i = llround(F32(LL_EXP_A*(y))) + (1072693248 - LL_EXP_C), LLECO.d) - - - -inline F32 llfastpow(const F32 x, const F32 y) -{ - return (F32)(LL_FAST_EXP(y * log(x))); -} - - -inline F32 snap_to_sig_figs(F32 foo, S32 sig_figs) -{ - // compute the power of ten - F32 bar = 1.f; - for (S32 i = 0; i < sig_figs; i++) - { - bar *= 10.f; - } - - //F32 new_foo = (F32)llround(foo * bar); - // the llround() implementation sucks. Don't us it. - - F32 sign = (foo > 0.f) ? 1.f : -1.f; - F32 new_foo = F32( S64(foo * bar + sign * 0.5f)); - new_foo /= bar; - - return new_foo; -} - -inline F32 lerp(F32 a, F32 b, F32 u) -{ - return a + ((b - a) * u); -} - -inline F32 lerp2d(F32 x00, F32 x01, F32 x10, F32 x11, F32 u, F32 v) -{ - F32 a = x00 + (x01-x00)*u; - F32 b = x10 + (x11-x10)*u; - F32 r = a + (b-a)*v; - return r; -} - -inline F32 ramp(F32 x, F32 a, F32 b) -{ - return (a == b) ? 0.0f : ((a - x) / (a - b)); -} - -inline F32 rescale(F32 x, F32 x1, F32 x2, F32 y1, F32 y2) -{ - return lerp(y1, y2, ramp(x, x1, x2)); -} - -inline F32 clamp_rescale(F32 x, F32 x1, F32 x2, F32 y1, F32 y2) -{ - if (y1 < y2) - { - return llclamp(rescale(x,x1,x2,y1,y2),y1,y2); - } - else - { - return llclamp(rescale(x,x1,x2,y1,y2),y2,y1); - } -} - - -inline F32 cubic_step( F32 x, F32 x0, F32 x1, F32 s0, F32 s1 ) -{ - if (x <= x0) - return s0; - - if (x >= x1) - return s1; - - F32 f = (x - x0) / (x1 - x0); - - return s0 + (s1 - s0) * (f * f) * (3.0f - 2.0f * f); -} - -inline F32 cubic_step( F32 x ) -{ - x = llclampf(x); - - return (x * x) * (3.0f - 2.0f * x); -} - -inline F32 quadratic_step( F32 x, F32 x0, F32 x1, F32 s0, F32 s1 ) -{ - if (x <= x0) - return s0; - - if (x >= x1) - return s1; - - F32 f = (x - x0) / (x1 - x0); - F32 f_squared = f * f; - - return (s0 * (1.f - f_squared)) + ((s1 - s0) * f_squared); -} - -inline F32 llsimple_angle(F32 angle) -{ - while(angle <= -F_PI) - angle += F_TWO_PI; - while(angle > F_PI) - angle -= F_TWO_PI; - return angle; -} - -//SDK - Renamed this to get_lower_power_two, since this is what this actually does. -inline U32 get_lower_power_two(U32 val, U32 max_power_two) -{ - if(!max_power_two) - { - max_power_two = 1 << 31 ; - } - if(max_power_two & (max_power_two - 1)) - { - return 0 ; - } - - for(; val < max_power_two ; max_power_two >>= 1) ; - - return max_power_two ; -} - -// calculate next highest power of two, limited by max_power_two -// This is taken from a brilliant little code snipped on http://acius2.blogspot.com/2007/11/calculating-next-power-of-2.html -// Basically we convert the binary to a solid string of 1's with the same -// number of digits, then add one. We subtract 1 initially to handle -// the case where the number passed in is actually a power of two. -// WARNING: this only works with 32 bit ints. -inline U32 get_next_power_two(U32 val, U32 max_power_two) -{ - if(!max_power_two) - { - max_power_two = 1 << 31 ; - } - - if(val >= max_power_two) - { - return max_power_two; - } - - val--; - val = (val >> 1) | val; - val = (val >> 2) | val; - val = (val >> 4) | val; - val = (val >> 8) | val; - val = (val >> 16) | val; - val++; - - return val; -} - -//get the gaussian value given the linear distance from axis x and guassian value o -inline F32 llgaussian(F32 x, F32 o) -{ - return 1.f/(F_SQRT_TWO_PI*o)*powf(F_E, -(x*x)/(2*o*o)); -} - -// Include simd math header -#include "llsimdmath.h" - -#endif +/** + * @file llmath.h + * @brief Useful math constants and macros. + * + * $LicenseInfo:firstyear=2000&license=viewergpl$ + * + * Copyright (c) 2000-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LLMATH_H +#define LLMATH_H + +#include +#include +#include "lldefs.h" +//#include "llstl.h" // *TODO: Remove when LLString is gone +//#include "llstring.h" // *TODO: Remove when LLString is gone +// lltut.h uses is_approx_equal_fraction(). This was moved to its own header +// file in llcommon so we can use lltut.h for llcommon tests without making +// llcommon depend on llmath. +#include "is_approx_equal_fraction.h" + +// work around for Windows & older gcc non-standard function names. +#if LL_WINDOWS +#include +#define llisnan(val) _isnan(val) +#define llfinite(val) _finite(val) +#elif (LL_LINUX && __GNUC__ <= 2) +#define llisnan(val) isnan(val) +#define llfinite(val) isfinite(val) +#elif LL_SOLARIS +#define llisnan(val) isnan(val) +#define llfinite(val) (val <= std::numeric_limits::max()) +#else +#define llisnan(val) std::isnan(val) +#define llfinite(val) std::isfinite(val) +#endif + +// Single Precision Floating Point Routines +// (There used to be more defined here, but they appeared to be redundant and +// were breaking some other includes. Removed by Falcon, reviewed by Andrew, 11/25/09) +/*#ifndef tanf +#define tanf(x) ((F32)tan((F64)(x))) +#endif*/ + +const F32 GRAVITY = -9.8f; + +// mathematical constants +const F32 F_PI = 3.1415926535897932384626433832795f; +const F32 F_TWO_PI = 6.283185307179586476925286766559f; +const F32 F_PI_BY_TWO = 1.5707963267948966192313216916398f; +const F32 F_SQRT_TWO_PI = 2.506628274631000502415765284811f; +const F32 F_E = 2.71828182845904523536f; +const F32 F_SQRT2 = 1.4142135623730950488016887242097f; +const F32 F_SQRT3 = 1.73205080756888288657986402541f; +const F32 OO_SQRT2 = 0.7071067811865475244008443621049f; +const F32 DEG_TO_RAD = 0.017453292519943295769236907684886f; +const F32 RAD_TO_DEG = 57.295779513082320876798154814105f; +const F32 F_APPROXIMATELY_ZERO = 0.00001f; +const F32 F_LN2 = 0.69314718056f; +const F32 OO_LN2 = 1.4426950408889634073599246810019f; + +const F32 F_ALMOST_ZERO = 0.0001f; +const F32 F_ALMOST_ONE = 1.0f - F_ALMOST_ZERO; + +// BUG: Eliminate in favor of F_APPROXIMATELY_ZERO above? +const F32 FP_MAG_THRESHOLD = 0.0000001f; + +// TODO: Replace with logic like is_approx_equal +inline BOOL is_approx_zero( F32 f ) { return (-F_APPROXIMATELY_ZERO < f) && (f < F_APPROXIMATELY_ZERO); } + +// These functions work by interpreting sign+exp+mantissa as an unsigned +// integer. +// For example: +// x = 1 00000010 00000000000000000000000 +// y = 1 00000001 11111111111111111111111 +// +// interpreted as ints = +// x = 10000001000000000000000000000000 +// y = 10000000111111111111111111111111 +// which is clearly a different of 1 in the least significant bit +// Values with the same exponent can be trivially shown to work. +// +// WARNING: Denormals of opposite sign do not work +// x = 1 00000000 00000000000000000000001 +// y = 0 00000000 00000000000000000000001 +// Although these values differ by 2 in the LSB, the sign bit makes +// the int comparison fail. +// +// WARNING: NaNs can compare equal +// There is no special treatment of exceptional values like NaNs +// +// WARNING: Infinity is comparable with F32_MAX and negative +// infinity is comparable with F32_MIN + +inline BOOL is_approx_equal(F32 x, F32 y) +{ + const S32 COMPARE_MANTISSA_UP_TO_BIT = 0x02; + return (std::abs((S32) ((U32&)x - (U32&)y) ) < COMPARE_MANTISSA_UP_TO_BIT); +} + +inline BOOL is_approx_equal(F64 x, F64 y) +{ + const S64 COMPARE_MANTISSA_UP_TO_BIT = 0x02; + return (std::abs((S32) ((U64&)x - (U64&)y) ) < COMPARE_MANTISSA_UP_TO_BIT); +} + +inline S32 llabs(const S32 a) +{ + return S32(std::labs(a)); +} + +inline F32 llabs(const F32 a) +{ + return F32(std::fabs(a)); +} + +inline F64 llabs(const F64 a) +{ + return F64(std::fabs(a)); +} + +inline S32 lltrunc( F32 f ) +{ +#if LL_WINDOWS && !defined( __INTEL_COMPILER ) + // Avoids changing the floating point control word. + // Add or subtract 0.5 - epsilon and then round + const static U32 zpfp[] = { 0xBEFFFFFF, 0x3EFFFFFF }; + S32 result; + __asm { + fld f + mov eax, f + shr eax, 29 + and eax, 4 + fadd dword ptr [zpfp + eax] + fistp result + } + return result; +#else + return (S32)f; +#endif +} + +inline S32 lltrunc( F64 f ) +{ + return (S32)f; +} + +inline S32 llfloor( F32 f ) +{ +#if LL_WINDOWS && !defined( __INTEL_COMPILER ) + // Avoids changing the floating point control word. + // Accurate (unlike Stereopsis version) for all values between S32_MIN and S32_MAX and slightly faster than Stereopsis version. + // Add -(0.5 - epsilon) and then round + const U32 zpfp = 0xBEFFFFFF; + S32 result; + __asm { + fld f + fadd dword ptr [zpfp] + fistp result + } + return result; +#else + return (S32)floor(f); +#endif +} + + +inline S32 llceil( F32 f ) +{ + // This could probably be optimized, but this works. + return (S32)ceil(f); +} + + +#ifndef BOGUS_ROUND +// Use this round. Does an arithmetic round (0.5 always rounds up) +inline S32 llround(const F32 val) +{ + return llfloor(val + 0.5f); +} + +#else // BOGUS_ROUND +// Old llround implementation - does banker's round (toward nearest even in the case of a 0.5. +// Not using this because we don't have a consistent implementation on both platforms, use +// llfloor(val + 0.5f), which is consistent on all platforms. +inline S32 llround(const F32 val) +{ + #if LL_WINDOWS + // Note: assumes that the floating point control word is set to rounding mode (the default) + S32 ret_val; + _asm fld val + _asm fistp ret_val; + return ret_val; + #elif LL_LINUX + // Note: assumes that the floating point control word is set + // to rounding mode (the default) + S32 ret_val; + __asm__ __volatile__( "flds %1 \n\t" + "fistpl %0 \n\t" + : "=m" (ret_val) + : "m" (val) ); + return ret_val; + #else + return llfloor(val + 0.5f); + #endif +} + +// A fast arithmentic round on intel, from Laurent de Soras http://ldesoras.free.fr +inline int round_int(double x) +{ + const float round_to_nearest = 0.5f; + int i; + __asm + { + fld x + fadd st, st (0) + fadd round_to_nearest + fistp i + sar i, 1 + } + return (i); +} +#endif // BOGUS_ROUND + +inline F32 llround( F32 val, F32 nearest ) +{ + return F32(floor(val * (1.0f / nearest) + 0.5f)) * nearest; +} + +inline F64 llround( F64 val, F64 nearest ) +{ + return F64(floor(val * (1.0 / nearest) + 0.5)) * nearest; +} + +// these provide minimum peak error +// +// avg error = -0.013049 +// peak error = -31.4 dB +// RMS error = -28.1 dB + +const F32 FAST_MAG_ALPHA = 0.960433870103f; +const F32 FAST_MAG_BETA = 0.397824734759f; + +// these provide minimum RMS error +// +// avg error = 0.000003 +// peak error = -32.6 dB +// RMS error = -25.7 dB +// +//const F32 FAST_MAG_ALPHA = 0.948059448969f; +//const F32 FAST_MAG_BETA = 0.392699081699f; + +inline F32 fastMagnitude(F32 a, F32 b) +{ + a = (a > 0) ? a : -a; + b = (b > 0) ? b : -b; + return(FAST_MAG_ALPHA * llmax(a,b) + FAST_MAG_BETA * llmin(a,b)); +} + + + +//////////////////// +// +// Fast F32/S32 conversions +// +// Culled from www.stereopsis.com/FPU.html + +const F64 LL_DOUBLE_TO_FIX_MAGIC = 68719476736.0*1.5; //2^36 * 1.5, (52-_shiftamt=36) uses limited precisicion to floor +const S32 LL_SHIFT_AMOUNT = 16; //16.16 fixed point representation, + +// Endian dependent code +#ifdef LL_LITTLE_ENDIAN + #define LL_EXP_INDEX 1 + #define LL_MAN_INDEX 0 +#else + #define LL_EXP_INDEX 0 + #define LL_MAN_INDEX 1 +#endif + +/* Deprecated: use llround(), lltrunc(), or llfloor() instead +// ================================================================================================ +// Real2Int +// ================================================================================================ +inline S32 F64toS32(F64 val) +{ + val = val + LL_DOUBLE_TO_FIX_MAGIC; + return ((S32*)&val)[LL_MAN_INDEX] >> LL_SHIFT_AMOUNT; +} + +// ================================================================================================ +// Real2Int +// ================================================================================================ +inline S32 F32toS32(F32 val) +{ + return F64toS32 ((F64)val); +} +*/ + +//////////////////////////////////////////////// +// +// Fast exp and log +// + +// Implementation of fast exp() approximation (from a paper by Nicol N. Schraudolph +// http://www.inf.ethz.ch/~schraudo/pubs/exp.pdf +static union +{ + double d; + struct + { +#ifdef LL_LITTLE_ENDIAN + S32 j, i; +#else + S32 i, j; +#endif + } n; +} LLECO; // not sure what the name means + +#define LL_EXP_A (1048576 * OO_LN2) // use 1512775 for integer +#define LL_EXP_C (60801) // this value of C good for -4 < y < 4 + +#define LL_FAST_EXP(y) (LLECO.n.i = llround(F32(LL_EXP_A*(y))) + (1072693248 - LL_EXP_C), LLECO.d) + + + +inline F32 llfastpow(const F32 x, const F32 y) +{ + return (F32)(LL_FAST_EXP(y * log(x))); +} + + +inline F32 snap_to_sig_figs(F32 foo, S32 sig_figs) +{ + // compute the power of ten + F32 bar = 1.f; + for (S32 i = 0; i < sig_figs; i++) + { + bar *= 10.f; + } + + //F32 new_foo = (F32)llround(foo * bar); + // the llround() implementation sucks. Don't us it. + + F32 sign = (foo > 0.f) ? 1.f : -1.f; + F32 new_foo = F32( S64(foo * bar + sign * 0.5f)); + new_foo /= bar; + + return new_foo; +} + +inline F32 lerp(F32 a, F32 b, F32 u) +{ + return a + ((b - a) * u); +} + +inline F32 lerp2d(F32 x00, F32 x01, F32 x10, F32 x11, F32 u, F32 v) +{ + F32 a = x00 + (x01-x00)*u; + F32 b = x10 + (x11-x10)*u; + F32 r = a + (b-a)*v; + return r; +} + +inline F32 ramp(F32 x, F32 a, F32 b) +{ + return (a == b) ? 0.0f : ((a - x) / (a - b)); +} + +inline F32 rescale(F32 x, F32 x1, F32 x2, F32 y1, F32 y2) +{ + return lerp(y1, y2, ramp(x, x1, x2)); +} + +inline F32 clamp_rescale(F32 x, F32 x1, F32 x2, F32 y1, F32 y2) +{ + if (y1 < y2) + { + return llclamp(rescale(x,x1,x2,y1,y2),y1,y2); + } + else + { + return llclamp(rescale(x,x1,x2,y1,y2),y2,y1); + } +} + + +inline F32 cubic_step( F32 x, F32 x0, F32 x1, F32 s0, F32 s1 ) +{ + if (x <= x0) + return s0; + + if (x >= x1) + return s1; + + F32 f = (x - x0) / (x1 - x0); + + return s0 + (s1 - s0) * (f * f) * (3.0f - 2.0f * f); +} + +inline F32 cubic_step( F32 x ) +{ + x = llclampf(x); + + return (x * x) * (3.0f - 2.0f * x); +} + +inline F32 quadratic_step( F32 x, F32 x0, F32 x1, F32 s0, F32 s1 ) +{ + if (x <= x0) + return s0; + + if (x >= x1) + return s1; + + F32 f = (x - x0) / (x1 - x0); + F32 f_squared = f * f; + + return (s0 * (1.f - f_squared)) + ((s1 - s0) * f_squared); +} + +inline F32 llsimple_angle(F32 angle) +{ + while(angle <= -F_PI) + angle += F_TWO_PI; + while(angle > F_PI) + angle -= F_TWO_PI; + return angle; +} + +//SDK - Renamed this to get_lower_power_two, since this is what this actually does. +inline U32 get_lower_power_two(U32 val, U32 max_power_two) +{ + if(!max_power_two) + { + max_power_two = 1 << 31 ; + } + if(max_power_two & (max_power_two - 1)) + { + return 0 ; + } + + for(; val < max_power_two ; max_power_two >>= 1) ; + + return max_power_two ; +} + +// calculate next highest power of two, limited by max_power_two +// This is taken from a brilliant little code snipped on http://acius2.blogspot.com/2007/11/calculating-next-power-of-2.html +// Basically we convert the binary to a solid string of 1's with the same +// number of digits, then add one. We subtract 1 initially to handle +// the case where the number passed in is actually a power of two. +// WARNING: this only works with 32 bit ints. +inline U32 get_next_power_two(U32 val, U32 max_power_two) +{ + if(!max_power_two) + { + max_power_two = 1 << 31 ; + } + + if(val >= max_power_two) + { + return max_power_two; + } + + val--; + val = (val >> 1) | val; + val = (val >> 2) | val; + val = (val >> 4) | val; + val = (val >> 8) | val; + val = (val >> 16) | val; + val++; + + return val; +} + +//get the gaussian value given the linear distance from axis x and guassian value o +inline F32 llgaussian(F32 x, F32 o) +{ + return 1.f/(F_SQRT_TWO_PI*o)*powf(F_E, -(x*x)/(2*o*o)); +} + +// Include simd math header +#include "llsimdmath.h" + +#endif diff --git a/indra/llmath/llquantize.h b/indra/llmath/llquantize.h index 000d8a060f..c043f7f752 100644 --- a/indra/llmath/llquantize.h +++ b/indra/llmath/llquantize.h @@ -1,158 +1,158 @@ -/** - * @file llquantize.h - * @brief useful routines for quantizing floats to various length ints - * and back out again - * - * $LicenseInfo:firstyear=2001&license=viewergpl$ - * - * Copyright (c) 2001-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#ifndef LL_LLQUANTIZE_H -#define LL_LLQUANTIZE_H - -const U16 U16MAX = 65535; -LL_ALIGN_16( const F32 F_U16MAX_4A[4] ) = { 65535.f, 65535.f, 65535.f, 65535.f }; - -const F32 OOU16MAX = 1.f/(F32)(U16MAX); -LL_ALIGN_16( const F32 F_OOU16MAX_4A[4] ) = { OOU16MAX, OOU16MAX, OOU16MAX, OOU16MAX }; - -const U8 U8MAX = 255; -LL_ALIGN_16( const F32 F_U8MAX_4A[4] ) = { 255.f, 255.f, 255.f, 255.f }; - -const F32 OOU8MAX = 1.f/(F32)(U8MAX); -LL_ALIGN_16( const F32 F_OOU8MAX_4A[4] ) = { OOU8MAX, OOU8MAX, OOU8MAX, OOU8MAX }; - -const U8 FIRSTVALIDCHAR = 54; -const U8 MAXSTRINGVAL = U8MAX - FIRSTVALIDCHAR; //we don't allow newline or null - - -inline U16 F32_to_U16_ROUND(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); - // make sure that the value is positive and normalized to <0, 1> - val -= lower; - val /= (upper - lower); - - // round the value. Sreturn the U16 - return (U16)(llround(val*U16MAX)); -} - - -inline U16 F32_to_U16(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); - // make sure that the value is positive and normalized to <0, 1> - val -= lower; - val /= (upper - lower); - - // return the U16 - return (U16)(llfloor(val*U16MAX)); -} - -inline F32 U16_to_F32(U16 ival, F32 lower, F32 upper) -{ - F32 val = ival*OOU16MAX; - F32 delta = (upper - lower); - val *= delta; - val += lower; - - F32 max_error = delta*OOU16MAX; - - // make sure that zero's come through as zero - if (fabsf(val) < max_error) - val = 0.f; - - return val; -} - - -inline U8 F32_to_U8_ROUND(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); - // make sure that the value is positive and normalized to <0, 1> - val -= lower; - val /= (upper - lower); - - // return the rounded U8 - return (U8)(llround(val*U8MAX)); -} - - -inline U8 F32_to_U8(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); - // make sure that the value is positive and normalized to <0, 1> - val -= lower; - val /= (upper - lower); - - // return the U8 - return (U8)(llfloor(val*U8MAX)); -} - -inline F32 U8_to_F32(U8 ival, F32 lower, F32 upper) -{ - F32 val = ival*OOU8MAX; - F32 delta = (upper - lower); - val *= delta; - val += lower; - - F32 max_error = delta*OOU8MAX; - - // make sure that zero's come through as zero - if (fabsf(val) < max_error) - val = 0.f; - - return val; -} - -inline U8 F32_TO_STRING(F32 val, F32 lower, F32 upper) -{ - val = llclamp(val, lower, upper); //[lower, upper] - // make sure that the value is positive and normalized to <0, 1> - val -= lower; //[0, upper-lower] - val /= (upper - lower); //[0,1] - val = val * MAXSTRINGVAL; //[0, MAXSTRINGVAL] - val = floor(val + 0.5f); //[0, MAXSTRINGVAL] - - U8 stringVal = (U8)(val) + FIRSTVALIDCHAR; //[FIRSTVALIDCHAR, MAXSTRINGVAL + FIRSTVALIDCHAR] - return stringVal; -} - -inline F32 STRING_TO_F32(U8 ival, F32 lower, F32 upper) -{ - // remove empty space left for NULL, newline, etc. - ival -= FIRSTVALIDCHAR; //[0, MAXSTRINGVAL] - - F32 val = (F32)ival * (1.f / (F32)MAXSTRINGVAL); //[0, 1] - F32 delta = (upper - lower); - val *= delta; //[0, upper - lower] - val += lower; //[lower, upper] - - return val; -} - -#endif +/** + * @file llquantize.h + * @brief useful routines for quantizing floats to various length ints + * and back out again + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLQUANTIZE_H +#define LL_LLQUANTIZE_H + +const U16 U16MAX = 65535; +LL_ALIGN_16( const F32 F_U16MAX_4A[4] ) = { 65535.f, 65535.f, 65535.f, 65535.f }; + +const F32 OOU16MAX = 1.f/(F32)(U16MAX); +LL_ALIGN_16( const F32 F_OOU16MAX_4A[4] ) = { OOU16MAX, OOU16MAX, OOU16MAX, OOU16MAX }; + +const U8 U8MAX = 255; +LL_ALIGN_16( const F32 F_U8MAX_4A[4] ) = { 255.f, 255.f, 255.f, 255.f }; + +const F32 OOU8MAX = 1.f/(F32)(U8MAX); +LL_ALIGN_16( const F32 F_OOU8MAX_4A[4] ) = { OOU8MAX, OOU8MAX, OOU8MAX, OOU8MAX }; + +const U8 FIRSTVALIDCHAR = 54; +const U8 MAXSTRINGVAL = U8MAX - FIRSTVALIDCHAR; //we don't allow newline or null + + +inline U16 F32_to_U16_ROUND(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); + // make sure that the value is positive and normalized to <0, 1> + val -= lower; + val /= (upper - lower); + + // round the value. Sreturn the U16 + return (U16)(llround(val*U16MAX)); +} + + +inline U16 F32_to_U16(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); + // make sure that the value is positive and normalized to <0, 1> + val -= lower; + val /= (upper - lower); + + // return the U16 + return (U16)(llfloor(val*U16MAX)); +} + +inline F32 U16_to_F32(U16 ival, F32 lower, F32 upper) +{ + F32 val = ival*OOU16MAX; + F32 delta = (upper - lower); + val *= delta; + val += lower; + + F32 max_error = delta*OOU16MAX; + + // make sure that zero's come through as zero + if (fabsf(val) < max_error) + val = 0.f; + + return val; +} + + +inline U8 F32_to_U8_ROUND(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); + // make sure that the value is positive and normalized to <0, 1> + val -= lower; + val /= (upper - lower); + + // return the rounded U8 + return (U8)(llround(val*U8MAX)); +} + + +inline U8 F32_to_U8(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); + // make sure that the value is positive and normalized to <0, 1> + val -= lower; + val /= (upper - lower); + + // return the U8 + return (U8)(llfloor(val*U8MAX)); +} + +inline F32 U8_to_F32(U8 ival, F32 lower, F32 upper) +{ + F32 val = ival*OOU8MAX; + F32 delta = (upper - lower); + val *= delta; + val += lower; + + F32 max_error = delta*OOU8MAX; + + // make sure that zero's come through as zero + if (fabsf(val) < max_error) + val = 0.f; + + return val; +} + +inline U8 F32_TO_STRING(F32 val, F32 lower, F32 upper) +{ + val = llclamp(val, lower, upper); //[lower, upper] + // make sure that the value is positive and normalized to <0, 1> + val -= lower; //[0, upper-lower] + val /= (upper - lower); //[0,1] + val = val * MAXSTRINGVAL; //[0, MAXSTRINGVAL] + val = floor(val + 0.5f); //[0, MAXSTRINGVAL] + + U8 stringVal = (U8)(val) + FIRSTVALIDCHAR; //[FIRSTVALIDCHAR, MAXSTRINGVAL + FIRSTVALIDCHAR] + return stringVal; +} + +inline F32 STRING_TO_F32(U8 ival, F32 lower, F32 upper) +{ + // remove empty space left for NULL, newline, etc. + ival -= FIRSTVALIDCHAR; //[0, MAXSTRINGVAL] + + F32 val = (F32)ival * (1.f / (F32)MAXSTRINGVAL); //[0, 1] + F32 delta = (upper - lower); + val *= delta; //[0, upper - lower] + val += lower; //[lower, upper] + + return val; +} + +#endif diff --git a/indra/llmath/llquaternion.cpp b/indra/llmath/llquaternion.cpp index efdc10e2c6..73c5f4505e 100644 --- a/indra/llmath/llquaternion.cpp +++ b/indra/llmath/llquaternion.cpp @@ -1,961 +1,961 @@ -/** - * @file llquaternion.cpp - * @brief LLQuaternion class implementation. - * - * $LicenseInfo:firstyear=2000&license=viewergpl$ - * - * Copyright (c) 2000-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#include "linden_common.h" - -#include "llmath.h" // for F_PI - -#include "llquaternion.h" - -//#include "vmath.h" -#include "v3math.h" -#include "v3dmath.h" -#include "v4math.h" -#include "m4math.h" -#include "m3math.h" -#include "llquantize.h" - -// WARNING: Don't use this for global const definitions! using this -// at the top of a *.cpp file might not give you what you think. -const LLQuaternion LLQuaternion::DEFAULT; - -// Constructors - -LLQuaternion::LLQuaternion(const LLMatrix4 &mat) -{ - *this = mat.quaternion(); - normalize(); -} - -LLQuaternion::LLQuaternion(const LLMatrix3 &mat) -{ - *this = mat.quaternion(); - normalize(); -} - -LLQuaternion::LLQuaternion(F32 angle, const LLVector4 &vec) -{ - LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); - v.normalize(); - - F32 c, s; - c = cosf(angle*0.5f); - s = sinf(angle*0.5f); - - mQ[VX] = v.mV[VX] * s; - mQ[VY] = v.mV[VY] * s; - mQ[VZ] = v.mV[VZ] * s; - mQ[VW] = c; - normalize(); -} - -LLQuaternion::LLQuaternion(F32 angle, const LLVector3 &vec) -{ - LLVector3 v(vec); - v.normalize(); - - F32 c, s; - c = cosf(angle*0.5f); - s = sinf(angle*0.5f); - - mQ[VX] = v.mV[VX] * s; - mQ[VY] = v.mV[VY] * s; - mQ[VZ] = v.mV[VZ] * s; - mQ[VW] = c; - normalize(); -} - -LLQuaternion::LLQuaternion(const LLVector3 &x_axis, - const LLVector3 &y_axis, - const LLVector3 &z_axis) -{ - LLMatrix3 mat; - mat.setRows(x_axis, y_axis, z_axis); - *this = mat.quaternion(); - normalize(); -} - -// Quatizations -void LLQuaternion::quantize16(F32 lower, F32 upper) -{ - F32 x = mQ[VX]; - F32 y = mQ[VY]; - F32 z = mQ[VZ]; - F32 s = mQ[VS]; - - x = U16_to_F32(F32_to_U16_ROUND(x, lower, upper), lower, upper); - y = U16_to_F32(F32_to_U16_ROUND(y, lower, upper), lower, upper); - z = U16_to_F32(F32_to_U16_ROUND(z, lower, upper), lower, upper); - s = U16_to_F32(F32_to_U16_ROUND(s, lower, upper), lower, upper); - - mQ[VX] = x; - mQ[VY] = y; - mQ[VZ] = z; - mQ[VS] = s; - - normalize(); -} - -void LLQuaternion::quantize8(F32 lower, F32 upper) -{ - mQ[VX] = U8_to_F32(F32_to_U8_ROUND(mQ[VX], lower, upper), lower, upper); - mQ[VY] = U8_to_F32(F32_to_U8_ROUND(mQ[VY], lower, upper), lower, upper); - mQ[VZ] = U8_to_F32(F32_to_U8_ROUND(mQ[VZ], lower, upper), lower, upper); - mQ[VS] = U8_to_F32(F32_to_U8_ROUND(mQ[VS], lower, upper), lower, upper); - - normalize(); -} - -// LLVector3 Magnitude and Normalization Functions - - -// Set LLQuaternion routines - -const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, F32 x, F32 y, F32 z) -{ - LLVector3 vec(x, y, z); - vec.normalize(); - - angle *= 0.5f; - F32 c, s; - c = cosf(angle); - s = sinf(angle); - - mQ[VX] = vec.mV[VX]*s; - mQ[VY] = vec.mV[VY]*s; - mQ[VZ] = vec.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, const LLVector3 &vec) -{ - LLVector3 v(vec); - v.normalize(); - - angle *= 0.5f; - F32 c, s; - c = cosf(angle); - s = sinf(angle); - - mQ[VX] = v.mV[VX]*s; - mQ[VY] = v.mV[VY]*s; - mQ[VZ] = v.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, const LLVector4 &vec) -{ - LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); - v.normalize(); - - F32 c, s; - c = cosf(angle*0.5f); - s = sinf(angle*0.5f); - - mQ[VX] = v.mV[VX]*s; - mQ[VY] = v.mV[VY]*s; - mQ[VZ] = v.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setEulerAngles(F32 roll, F32 pitch, F32 yaw) -{ - LLMatrix3 rot_mat(roll, pitch, yaw); - rot_mat.orthogonalize(); - *this = rot_mat.quaternion(); - - normalize(); - return (*this); -} - -// deprecated -const LLQuaternion& LLQuaternion::set(const LLMatrix3 &mat) -{ - *this = mat.quaternion(); - normalize(); - return (*this); -} - -// deprecated -const LLQuaternion& LLQuaternion::set(const LLMatrix4 &mat) -{ - *this = mat.quaternion(); - normalize(); - return (*this); -} - -// deprecated -const LLQuaternion& LLQuaternion::setQuat(F32 angle, F32 x, F32 y, F32 z) -{ - LLVector3 vec(x, y, z); - vec.normalize(); - - angle *= 0.5f; - F32 c, s; - c = cosf(angle); - s = sinf(angle); - - mQ[VX] = vec.mV[VX]*s; - mQ[VY] = vec.mV[VY]*s; - mQ[VZ] = vec.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -// deprecated -const LLQuaternion& LLQuaternion::setQuat(F32 angle, const LLVector3 &vec) -{ - LLVector3 v(vec); - v.normalize(); - - angle *= 0.5f; - F32 c, s; - c = cosf(angle); - s = sinf(angle); - - mQ[VX] = v.mV[VX]*s; - mQ[VY] = v.mV[VY]*s; - mQ[VZ] = v.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setQuat(F32 angle, const LLVector4 &vec) -{ - LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); - v.normalize(); - - F32 c, s; - c = cosf(angle*0.5f); - s = sinf(angle*0.5f); - - mQ[VX] = v.mV[VX]*s; - mQ[VY] = v.mV[VY]*s; - mQ[VZ] = v.mV[VZ]*s; - mQ[VW] = c; - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setQuat(F32 roll, F32 pitch, F32 yaw) -{ - LLMatrix3 rot_mat(roll, pitch, yaw); - rot_mat.orthogonalize(); - *this = rot_mat.quaternion(); - - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setQuat(const LLMatrix3 &mat) -{ - *this = mat.quaternion(); - normalize(); - return (*this); -} - -const LLQuaternion& LLQuaternion::setQuat(const LLMatrix4 &mat) -{ - *this = mat.quaternion(); - normalize(); - return (*this); -//#if 1 -// // NOTE: LLQuaternion's are actually inverted with respect to -// // the matrices, so this code also assumes inverted quaternions -// // (-x, -y, -z, w). The result is that roll,pitch,yaw are applied -// // in reverse order (yaw,pitch,roll). -// F64 cosX = cos(roll); -// F64 cosY = cos(pitch); -// F64 cosZ = cos(yaw); -// -// F64 sinX = sin(roll); -// F64 sinY = sin(pitch); -// F64 sinZ = sin(yaw); -// -// mQ[VW] = (F32)sqrt(cosY*cosZ - sinX*sinY*sinZ + cosX*cosZ + cosX*cosY + 1.0)*.5; -// if (fabs(mQ[VW]) < F_APPROXIMATELY_ZERO) -// { -// // null rotation, any axis will do -// mQ[VX] = 0.0f; -// mQ[VY] = 1.0f; -// mQ[VZ] = 0.0f; -// } -// else -// { -// F32 inv_s = 1.0f / (4.0f * mQ[VW]); -// mQ[VX] = (F32)-(-sinX*cosY - cosX*sinY*sinZ - sinX*cosZ) * inv_s; -// mQ[VY] = (F32)-(-cosX*sinY*cosZ + sinX*sinZ - sinY) * inv_s; -// mQ[VZ] = (F32)-(-cosY*sinZ - sinX*sinY*cosZ - cosX*sinZ) * inv_s; -// } -// -//#else // This only works on a certain subset of roll/pitch/yaw -// -// F64 cosX = cosf(roll/2.0); -// F64 cosY = cosf(pitch/2.0); -// F64 cosZ = cosf(yaw/2.0); -// -// F64 sinX = sinf(roll/2.0); -// F64 sinY = sinf(pitch/2.0); -// F64 sinZ = sinf(yaw/2.0); -// -// mQ[VW] = (F32)(cosX*cosY*cosZ + sinX*sinY*sinZ); -// mQ[VX] = (F32)(sinX*cosY*cosZ - cosX*sinY*sinZ); -// mQ[VY] = (F32)(cosX*sinY*cosZ + sinX*cosY*sinZ); -// mQ[VZ] = (F32)(cosX*cosY*sinZ - sinX*sinY*cosZ); -//#endif -// -// normalize(); -// return (*this); -} - -// SJB: This code is correct for a logicly stored (non-transposed) matrix; -// Our matrices are stored transposed, OpenGL style, so this generates the -// INVERSE matrix, or the CORRECT matrix form an INVERSE quaternion. -// Because we use similar logic in LLMatrix3::quaternion(), -// we are internally consistant so everything works OK :) -LLMatrix3 LLQuaternion::getMatrix3(void) const -{ - LLMatrix3 mat; - F32 xx, xy, xz, xw, yy, yz, yw, zz, zw; - - xx = mQ[VX] * mQ[VX]; - xy = mQ[VX] * mQ[VY]; - xz = mQ[VX] * mQ[VZ]; - xw = mQ[VX] * mQ[VW]; - - yy = mQ[VY] * mQ[VY]; - yz = mQ[VY] * mQ[VZ]; - yw = mQ[VY] * mQ[VW]; - - zz = mQ[VZ] * mQ[VZ]; - zw = mQ[VZ] * mQ[VW]; - - mat.mMatrix[0][0] = 1.f - 2.f * ( yy + zz ); - mat.mMatrix[0][1] = 2.f * ( xy + zw ); - mat.mMatrix[0][2] = 2.f * ( xz - yw ); - - mat.mMatrix[1][0] = 2.f * ( xy - zw ); - mat.mMatrix[1][1] = 1.f - 2.f * ( xx + zz ); - mat.mMatrix[1][2] = 2.f * ( yz + xw ); - - mat.mMatrix[2][0] = 2.f * ( xz + yw ); - mat.mMatrix[2][1] = 2.f * ( yz - xw ); - mat.mMatrix[2][2] = 1.f - 2.f * ( xx + yy ); - - return mat; -} - -LLMatrix4 LLQuaternion::getMatrix4(void) const -{ - LLMatrix4 mat; - F32 xx, xy, xz, xw, yy, yz, yw, zz, zw; - - xx = mQ[VX] * mQ[VX]; - xy = mQ[VX] * mQ[VY]; - xz = mQ[VX] * mQ[VZ]; - xw = mQ[VX] * mQ[VW]; - - yy = mQ[VY] * mQ[VY]; - yz = mQ[VY] * mQ[VZ]; - yw = mQ[VY] * mQ[VW]; - - zz = mQ[VZ] * mQ[VZ]; - zw = mQ[VZ] * mQ[VW]; - - mat.mMatrix[0][0] = 1.f - 2.f * ( yy + zz ); - mat.mMatrix[0][1] = 2.f * ( xy + zw ); - mat.mMatrix[0][2] = 2.f * ( xz - yw ); - - mat.mMatrix[1][0] = 2.f * ( xy - zw ); - mat.mMatrix[1][1] = 1.f - 2.f * ( xx + zz ); - mat.mMatrix[1][2] = 2.f * ( yz + xw ); - - mat.mMatrix[2][0] = 2.f * ( xz + yw ); - mat.mMatrix[2][1] = 2.f * ( yz - xw ); - mat.mMatrix[2][2] = 1.f - 2.f * ( xx + yy ); - - // TODO -- should we set the translation portion to zero? - - return mat; -} - - - - -// Other useful methods - - -// calculate the shortest rotation from a to b -void LLQuaternion::shortestArc(const LLVector3 &a, const LLVector3 &b) -{ - // Make a local copy of both vectors. - LLVector3 vec_a = a; - LLVector3 vec_b = b; - - // Make sure neither vector is zero length. Also normalize - // the vectors while we are at it. - F32 vec_a_mag = vec_a.normalize(); - F32 vec_b_mag = vec_b.normalize(); - if (vec_a_mag < F_APPROXIMATELY_ZERO || - vec_b_mag < F_APPROXIMATELY_ZERO) - { - // Can't calculate a rotation from this. - // Just return ZERO_ROTATION instead. - loadIdentity(); - return; - } - - // Create an axis to rotate around, and the cos of the angle to rotate. - LLVector3 axis = vec_a % vec_b; - F32 cos_theta = vec_a * vec_b; - - // Check the angle between the vectors to see if they are parallel or anti-parallel. - if (cos_theta > 1.0 - F_APPROXIMATELY_ZERO) - { - // a and b are parallel. No rotation is necessary. - loadIdentity(); - } - else if (cos_theta < -1.0 + F_APPROXIMATELY_ZERO) - { - // a and b are anti-parallel. - // Rotate 180 degrees around some orthogonal axis. - // Find the projection of the x-axis onto a, and try - // using the vector between the projection and the x-axis - // as the orthogonal axis. - LLVector3 proj = vec_a.mV[VX] / (vec_a * vec_a) * vec_a; - LLVector3 ortho_axis(1.f, 0.f, 0.f); - ortho_axis -= proj; - - // Turn this into an orthonormal axis. - F32 ortho_length = ortho_axis.normalize(); - // If the axis' length is 0, then our guess at an orthogonal axis - // was wrong (a is parallel to the x-axis). - if (ortho_length < F_APPROXIMATELY_ZERO) - { - // Use the z-axis instead. - ortho_axis.setVec(0.f, 0.f, 1.f); - } - - // Construct a quaternion from this orthonormal axis. - mQ[VX] = ortho_axis.mV[VX]; - mQ[VY] = ortho_axis.mV[VY]; - mQ[VZ] = ortho_axis.mV[VZ]; - mQ[VW] = 0.f; - } - else - { - // a and b are NOT parallel or anti-parallel. - // Return the rotation between these vectors. - F32 theta = (F32)acos(cos_theta); - - setAngleAxis(theta, axis); - } -} - -// constrains rotation to a cone angle specified in radians -const LLQuaternion &LLQuaternion::constrain(F32 radians) -{ - const F32 cos_angle_lim = cosf( radians/2 ); // mQ[VW] limit - const F32 sin_angle_lim = sinf( radians/2 ); // rotation axis length limit - - if (mQ[VW] < 0.f) - { - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - mQ[VW] *= -1.f; - } - - // if rotation angle is greater than limit (cos is less than limit) - if( mQ[VW] < cos_angle_lim ) - { - mQ[VW] = cos_angle_lim; - F32 axis_len = sqrtf( mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] ); // sin(theta/2) - F32 axis_mult_fact = sin_angle_lim / axis_len; - mQ[VX] *= axis_mult_fact; - mQ[VY] *= axis_mult_fact; - mQ[VZ] *= axis_mult_fact; - } - - return *this; -} - -// Operators - -std::ostream& operator<<(std::ostream &s, const LLQuaternion &a) -{ - s << "{ " - << a.mQ[VX] << ", " << a.mQ[VY] << ", " << a.mQ[VZ] << ", " << a.mQ[VW] - << " }"; - return s; -} - - -// Does NOT renormalize the result -LLQuaternion operator*(const LLQuaternion &a, const LLQuaternion &b) -{ -// LLQuaternion::mMultCount++; - - LLQuaternion q( - b.mQ[3] * a.mQ[0] + b.mQ[0] * a.mQ[3] + b.mQ[1] * a.mQ[2] - b.mQ[2] * a.mQ[1], - b.mQ[3] * a.mQ[1] + b.mQ[1] * a.mQ[3] + b.mQ[2] * a.mQ[0] - b.mQ[0] * a.mQ[2], - b.mQ[3] * a.mQ[2] + b.mQ[2] * a.mQ[3] + b.mQ[0] * a.mQ[1] - b.mQ[1] * a.mQ[0], - b.mQ[3] * a.mQ[3] - b.mQ[0] * a.mQ[0] - b.mQ[1] * a.mQ[1] - b.mQ[2] * a.mQ[2] - ); - return q; -} - -/* -LLMatrix4 operator*(const LLMatrix4 &m, const LLQuaternion &q) -{ - LLMatrix4 qmat(q); - return (m*qmat); -} -*/ - - - -LLVector4 operator*(const LLVector4 &a, const LLQuaternion &rot) -{ - F32 rw = - rot.mQ[VX] * a.mV[VX] - rot.mQ[VY] * a.mV[VY] - rot.mQ[VZ] * a.mV[VZ]; - F32 rx = rot.mQ[VW] * a.mV[VX] + rot.mQ[VY] * a.mV[VZ] - rot.mQ[VZ] * a.mV[VY]; - F32 ry = rot.mQ[VW] * a.mV[VY] + rot.mQ[VZ] * a.mV[VX] - rot.mQ[VX] * a.mV[VZ]; - F32 rz = rot.mQ[VW] * a.mV[VZ] + rot.mQ[VX] * a.mV[VY] - rot.mQ[VY] * a.mV[VX]; - - F32 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; - F32 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; - F32 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; - - return LLVector4(nx, ny, nz, a.mV[VW]); -} - -LLVector3 operator*(const LLVector3 &a, const LLQuaternion &rot) -{ - F32 rw = - rot.mQ[VX] * a.mV[VX] - rot.mQ[VY] * a.mV[VY] - rot.mQ[VZ] * a.mV[VZ]; - F32 rx = rot.mQ[VW] * a.mV[VX] + rot.mQ[VY] * a.mV[VZ] - rot.mQ[VZ] * a.mV[VY]; - F32 ry = rot.mQ[VW] * a.mV[VY] + rot.mQ[VZ] * a.mV[VX] - rot.mQ[VX] * a.mV[VZ]; - F32 rz = rot.mQ[VW] * a.mV[VZ] + rot.mQ[VX] * a.mV[VY] - rot.mQ[VY] * a.mV[VX]; - - F32 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; - F32 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; - F32 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; - - return LLVector3(nx, ny, nz); -} - -LLVector3d operator*(const LLVector3d &a, const LLQuaternion &rot) -{ - F64 rw = - rot.mQ[VX] * a.mdV[VX] - rot.mQ[VY] * a.mdV[VY] - rot.mQ[VZ] * a.mdV[VZ]; - F64 rx = rot.mQ[VW] * a.mdV[VX] + rot.mQ[VY] * a.mdV[VZ] - rot.mQ[VZ] * a.mdV[VY]; - F64 ry = rot.mQ[VW] * a.mdV[VY] + rot.mQ[VZ] * a.mdV[VX] - rot.mQ[VX] * a.mdV[VZ]; - F64 rz = rot.mQ[VW] * a.mdV[VZ] + rot.mQ[VX] * a.mdV[VY] - rot.mQ[VY] * a.mdV[VX]; - - F64 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; - F64 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; - F64 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; - - return LLVector3d(nx, ny, nz); -} - -F32 dot(const LLQuaternion &a, const LLQuaternion &b) -{ - return a.mQ[VX] * b.mQ[VX] + - a.mQ[VY] * b.mQ[VY] + - a.mQ[VZ] * b.mQ[VZ] + - a.mQ[VW] * b.mQ[VW]; -} - -// DEMO HACK: This lerp is probably inocrrect now due intermediate normalization -// it should look more like the lerp below -#if 0 -// linear interpolation -LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q) -{ - LLQuaternion r; - r = t * (q - p) + p; - r.normalize(); - return r; -} -#endif - -// lerp from identity to q -LLQuaternion lerp(F32 t, const LLQuaternion &q) -{ - LLQuaternion r; - r.mQ[VX] = t * q.mQ[VX]; - r.mQ[VY] = t * q.mQ[VY]; - r.mQ[VZ] = t * q.mQ[VZ]; - r.mQ[VW] = t * (q.mQ[VZ] - 1.f) + 1.f; - r.normalize(); - return r; -} - -LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q) -{ - LLQuaternion r; - F32 inv_t; - - inv_t = 1.f - t; - - r.mQ[VX] = t * q.mQ[VX] + (inv_t * p.mQ[VX]); - r.mQ[VY] = t * q.mQ[VY] + (inv_t * p.mQ[VY]); - r.mQ[VZ] = t * q.mQ[VZ] + (inv_t * p.mQ[VZ]); - r.mQ[VW] = t * q.mQ[VW] + (inv_t * p.mQ[VW]); - r.normalize(); - return r; -} - - -// spherical linear interpolation -LLQuaternion slerp( F32 u, const LLQuaternion &a, const LLQuaternion &b ) -{ - // cosine theta = dot product of a and b - F32 cos_t = a.mQ[0]*b.mQ[0] + a.mQ[1]*b.mQ[1] + a.mQ[2]*b.mQ[2] + a.mQ[3]*b.mQ[3]; - - // if b is on opposite hemisphere from a, use -a instead - int bflip; - if (cos_t < 0.0f) - { - cos_t = -cos_t; - bflip = TRUE; - } - else - bflip = FALSE; - - // if B is (within precision limits) the same as A, - // just linear interpolate between A and B. - F32 alpha; // interpolant - F32 beta; // 1 - interpolant - if (1.0f - cos_t < 0.00001f) - { - beta = 1.0f - u; - alpha = u; - } - else - { - F32 theta = acosf(cos_t); - F32 sin_t = sinf(theta); - beta = sinf(theta - u*theta) / sin_t; - alpha = sinf(u*theta) / sin_t; - } - - if (bflip) - beta = -beta; - - // interpolate - LLQuaternion ret; - ret.mQ[0] = beta*a.mQ[0] + alpha*b.mQ[0]; - ret.mQ[1] = beta*a.mQ[1] + alpha*b.mQ[1]; - ret.mQ[2] = beta*a.mQ[2] + alpha*b.mQ[2]; - ret.mQ[3] = beta*a.mQ[3] + alpha*b.mQ[3]; - - return ret; -} - -// lerp whenever possible -LLQuaternion nlerp(F32 t, const LLQuaternion &a, const LLQuaternion &b) -{ - if (dot(a, b) < 0.f) - { - return slerp(t, a, b); - } - else - { - return lerp(t, a, b); - } -} - -LLQuaternion nlerp(F32 t, const LLQuaternion &q) -{ - if (q.mQ[VW] < 0.f) - { - return slerp(t, q); - } - else - { - return lerp(t, q); - } -} - -// slerp from identity quaternion to another quaternion -LLQuaternion slerp(F32 t, const LLQuaternion &q) -{ - F32 c = q.mQ[VW]; - if (1.0f == t || 1.0f == c) - { - // the trivial cases - return q; - } - - LLQuaternion r; - F32 s, angle, stq, stp; - - s = (F32) sqrt(1.f - c*c); - - if (c < 0.0f) - { - // when c < 0.0 then theta > PI/2 - // since quat and -quat are the same rotation we invert one of - // p or q to reduce unecessary spins - // A equivalent way to do it is to convert acos(c) as if it had - // been negative, and to negate stp - angle = (F32) acos(-c); - stp = -(F32) sin(angle * (1.f - t)); - stq = (F32) sin(angle * t); - } - else - { - angle = (F32) acos(c); - stp = (F32) sin(angle * (1.f - t)); - stq = (F32) sin(angle * t); - } - - r.mQ[VX] = (q.mQ[VX] * stq) / s; - r.mQ[VY] = (q.mQ[VY] * stq) / s; - r.mQ[VZ] = (q.mQ[VZ] * stq) / s; - r.mQ[VW] = (stp + q.mQ[VW] * stq) / s; - - return r; -} - -LLQuaternion mayaQ(F32 xRot, F32 yRot, F32 zRot, LLQuaternion::Order order) -{ - LLQuaternion xQ( xRot*DEG_TO_RAD, LLVector3(1.0f, 0.0f, 0.0f) ); - LLQuaternion yQ( yRot*DEG_TO_RAD, LLVector3(0.0f, 1.0f, 0.0f) ); - LLQuaternion zQ( zRot*DEG_TO_RAD, LLVector3(0.0f, 0.0f, 1.0f) ); - LLQuaternion ret; - switch( order ) - { - case LLQuaternion::XYZ: - ret = xQ * yQ * zQ; - break; - case LLQuaternion::YZX: - ret = yQ * zQ * xQ; - break; - case LLQuaternion::ZXY: - ret = zQ * xQ * yQ; - break; - case LLQuaternion::XZY: - ret = xQ * zQ * yQ; - break; - case LLQuaternion::YXZ: - ret = yQ * xQ * zQ; - break; - case LLQuaternion::ZYX: - ret = zQ * yQ * xQ; - break; - } - return ret; -} - -const char *OrderToString( const LLQuaternion::Order order ) -{ - const char *p = NULL; - switch( order ) - { - default: - case LLQuaternion::XYZ: - p = "XYZ"; - break; - case LLQuaternion::YZX: - p = "YZX"; - break; - case LLQuaternion::ZXY: - p = "ZXY"; - break; - case LLQuaternion::XZY: - p = "XZY"; - break; - case LLQuaternion::YXZ: - p = "YXZ"; - break; - case LLQuaternion::ZYX: - p = "ZYX"; - break; - } - return p; -} - -LLQuaternion::Order StringToOrder( const char *str ) -{ - if (strncmp(str, "XYZ", 3)==0 || strncmp(str, "xyz", 3)==0) - return LLQuaternion::XYZ; - - if (strncmp(str, "YZX", 3)==0 || strncmp(str, "yzx", 3)==0) - return LLQuaternion::YZX; - - if (strncmp(str, "ZXY", 3)==0 || strncmp(str, "zxy", 3)==0) - return LLQuaternion::ZXY; - - if (strncmp(str, "XZY", 3)==0 || strncmp(str, "xzy", 3)==0) - return LLQuaternion::XZY; - - if (strncmp(str, "YXZ", 3)==0 || strncmp(str, "yxz", 3)==0) - return LLQuaternion::YXZ; - - if (strncmp(str, "ZYX", 3)==0 || strncmp(str, "zyx", 3)==0) - return LLQuaternion::ZYX; - - return LLQuaternion::XYZ; -} - -void LLQuaternion::getAngleAxis(F32* angle, LLVector3 &vec) const -{ - F32 cos_a = mQ[VW]; - if (cos_a > 1.0f) cos_a = 1.0f; - if (cos_a < -1.0f) cos_a = -1.0f; - - F32 sin_a = (F32) sqrt( 1.0f - cos_a * cos_a ); - - if ( fabs( sin_a ) < 0.0005f ) - sin_a = 1.0f; - else - sin_a = 1.f/sin_a; - - F32 temp_angle = 2.0f * (F32) acos( cos_a ); - if (temp_angle > F_PI) - { - // The (angle,axis) pair should never have angles outside [PI, -PI] - // since we want the _shortest_ (angle,axis) solution. - // Since acos is defined for [0, PI], and we multiply by 2.0, we - // can push the angle outside the acceptible range. - // When this happens we set the angle to the other portion of a - // full 2PI rotation, and negate the axis, which reverses the - // direction of the rotation (by the right-hand rule). - *angle = 2.f * F_PI - temp_angle; - vec.mV[VX] = - mQ[VX] * sin_a; - vec.mV[VY] = - mQ[VY] * sin_a; - vec.mV[VZ] = - mQ[VZ] * sin_a; - } - else - { - *angle = temp_angle; - vec.mV[VX] = mQ[VX] * sin_a; - vec.mV[VY] = mQ[VY] * sin_a; - vec.mV[VZ] = mQ[VZ] * sin_a; - } -} - - -// quaternion does not need to be normalized -void LLQuaternion::getEulerAngles(F32 *roll, F32 *pitch, F32 *yaw) const -{ - LLMatrix3 rot_mat(*this); - rot_mat.orthogonalize(); - rot_mat.getEulerAngles(roll, pitch, yaw); - -// // NOTE: LLQuaternion's are actually inverted with respect to -// // the matrices, so this code also assumes inverted quaternions -// // (-x, -y, -z, w). The result is that roll,pitch,yaw are applied -// // in reverse order (yaw,pitch,roll). -// F32 x = -mQ[VX], y = -mQ[VY], z = -mQ[VZ], w = mQ[VW]; -// F64 m20 = 2.0*(x*z-y*w); -// if (1.0f - fabsf(m20) < F_APPROXIMATELY_ZERO) -// { -// *roll = 0.0f; -// *pitch = (F32)asin(m20); -// *yaw = (F32)atan2(2.0*(x*y-z*w), 1.0 - 2.0*(x*x+z*z)); -// } -// else -// { -// *roll = (F32)atan2(-2.0*(y*z+x*w), 1.0-2.0*(x*x+y*y)); -// *pitch = (F32)asin(m20); -// *yaw = (F32)atan2(-2.0*(x*y+z*w), 1.0-2.0*(y*y+z*z)); -// } -} - -// Saves space by using the fact that our quaternions are normalized -LLVector3 LLQuaternion::packToVector3() const -{ - if( mQ[VW] >= 0 ) - { - return LLVector3( mQ[VX], mQ[VY], mQ[VZ] ); - } - else - { - return LLVector3( -mQ[VX], -mQ[VY], -mQ[VZ] ); - } -} - -// Saves space by using the fact that our quaternions are normalized -void LLQuaternion::unpackFromVector3( const LLVector3& vec ) -{ - mQ[VX] = vec.mV[VX]; - mQ[VY] = vec.mV[VY]; - mQ[VZ] = vec.mV[VZ]; - F32 t = 1.f - vec.magVecSquared(); - if( t > 0 ) - { - mQ[VW] = sqrt( t ); - } - else - { - // Need this to avoid trying to find the square root of a negative number due - // to floating point error. - mQ[VW] = 0; - } -} - -BOOL LLQuaternion::parseQuat(const std::string& buf, LLQuaternion* value) -{ - if( buf.empty() || value == NULL) - { - return FALSE; - } - - LLQuaternion quat; - S32 count = sscanf( buf.c_str(), "%f %f %f %f", quat.mQ + 0, quat.mQ + 1, quat.mQ + 2, quat.mQ + 3 ); - if( 4 == count ) - { - value->set( quat ); - return TRUE; - } - - return FALSE; -} - - -// End +/** + * @file llquaternion.cpp + * @brief LLQuaternion class implementation. + * + * $LicenseInfo:firstyear=2000&license=viewergpl$ + * + * Copyright (c) 2000-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "linden_common.h" + +#include "llmath.h" // for F_PI + +#include "llquaternion.h" + +//#include "vmath.h" +#include "v3math.h" +#include "v3dmath.h" +#include "v4math.h" +#include "m4math.h" +#include "m3math.h" +#include "llquantize.h" + +// WARNING: Don't use this for global const definitions! using this +// at the top of a *.cpp file might not give you what you think. +const LLQuaternion LLQuaternion::DEFAULT; + +// Constructors + +LLQuaternion::LLQuaternion(const LLMatrix4 &mat) +{ + *this = mat.quaternion(); + normalize(); +} + +LLQuaternion::LLQuaternion(const LLMatrix3 &mat) +{ + *this = mat.quaternion(); + normalize(); +} + +LLQuaternion::LLQuaternion(F32 angle, const LLVector4 &vec) +{ + LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); + v.normalize(); + + F32 c, s; + c = cosf(angle*0.5f); + s = sinf(angle*0.5f); + + mQ[VX] = v.mV[VX] * s; + mQ[VY] = v.mV[VY] * s; + mQ[VZ] = v.mV[VZ] * s; + mQ[VW] = c; + normalize(); +} + +LLQuaternion::LLQuaternion(F32 angle, const LLVector3 &vec) +{ + LLVector3 v(vec); + v.normalize(); + + F32 c, s; + c = cosf(angle*0.5f); + s = sinf(angle*0.5f); + + mQ[VX] = v.mV[VX] * s; + mQ[VY] = v.mV[VY] * s; + mQ[VZ] = v.mV[VZ] * s; + mQ[VW] = c; + normalize(); +} + +LLQuaternion::LLQuaternion(const LLVector3 &x_axis, + const LLVector3 &y_axis, + const LLVector3 &z_axis) +{ + LLMatrix3 mat; + mat.setRows(x_axis, y_axis, z_axis); + *this = mat.quaternion(); + normalize(); +} + +// Quatizations +void LLQuaternion::quantize16(F32 lower, F32 upper) +{ + F32 x = mQ[VX]; + F32 y = mQ[VY]; + F32 z = mQ[VZ]; + F32 s = mQ[VS]; + + x = U16_to_F32(F32_to_U16_ROUND(x, lower, upper), lower, upper); + y = U16_to_F32(F32_to_U16_ROUND(y, lower, upper), lower, upper); + z = U16_to_F32(F32_to_U16_ROUND(z, lower, upper), lower, upper); + s = U16_to_F32(F32_to_U16_ROUND(s, lower, upper), lower, upper); + + mQ[VX] = x; + mQ[VY] = y; + mQ[VZ] = z; + mQ[VS] = s; + + normalize(); +} + +void LLQuaternion::quantize8(F32 lower, F32 upper) +{ + mQ[VX] = U8_to_F32(F32_to_U8_ROUND(mQ[VX], lower, upper), lower, upper); + mQ[VY] = U8_to_F32(F32_to_U8_ROUND(mQ[VY], lower, upper), lower, upper); + mQ[VZ] = U8_to_F32(F32_to_U8_ROUND(mQ[VZ], lower, upper), lower, upper); + mQ[VS] = U8_to_F32(F32_to_U8_ROUND(mQ[VS], lower, upper), lower, upper); + + normalize(); +} + +// LLVector3 Magnitude and Normalization Functions + + +// Set LLQuaternion routines + +const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, F32 x, F32 y, F32 z) +{ + LLVector3 vec(x, y, z); + vec.normalize(); + + angle *= 0.5f; + F32 c, s; + c = cosf(angle); + s = sinf(angle); + + mQ[VX] = vec.mV[VX]*s; + mQ[VY] = vec.mV[VY]*s; + mQ[VZ] = vec.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, const LLVector3 &vec) +{ + LLVector3 v(vec); + v.normalize(); + + angle *= 0.5f; + F32 c, s; + c = cosf(angle); + s = sinf(angle); + + mQ[VX] = v.mV[VX]*s; + mQ[VY] = v.mV[VY]*s; + mQ[VZ] = v.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setAngleAxis(F32 angle, const LLVector4 &vec) +{ + LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); + v.normalize(); + + F32 c, s; + c = cosf(angle*0.5f); + s = sinf(angle*0.5f); + + mQ[VX] = v.mV[VX]*s; + mQ[VY] = v.mV[VY]*s; + mQ[VZ] = v.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setEulerAngles(F32 roll, F32 pitch, F32 yaw) +{ + LLMatrix3 rot_mat(roll, pitch, yaw); + rot_mat.orthogonalize(); + *this = rot_mat.quaternion(); + + normalize(); + return (*this); +} + +// deprecated +const LLQuaternion& LLQuaternion::set(const LLMatrix3 &mat) +{ + *this = mat.quaternion(); + normalize(); + return (*this); +} + +// deprecated +const LLQuaternion& LLQuaternion::set(const LLMatrix4 &mat) +{ + *this = mat.quaternion(); + normalize(); + return (*this); +} + +// deprecated +const LLQuaternion& LLQuaternion::setQuat(F32 angle, F32 x, F32 y, F32 z) +{ + LLVector3 vec(x, y, z); + vec.normalize(); + + angle *= 0.5f; + F32 c, s; + c = cosf(angle); + s = sinf(angle); + + mQ[VX] = vec.mV[VX]*s; + mQ[VY] = vec.mV[VY]*s; + mQ[VZ] = vec.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +// deprecated +const LLQuaternion& LLQuaternion::setQuat(F32 angle, const LLVector3 &vec) +{ + LLVector3 v(vec); + v.normalize(); + + angle *= 0.5f; + F32 c, s; + c = cosf(angle); + s = sinf(angle); + + mQ[VX] = v.mV[VX]*s; + mQ[VY] = v.mV[VY]*s; + mQ[VZ] = v.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setQuat(F32 angle, const LLVector4 &vec) +{ + LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]); + v.normalize(); + + F32 c, s; + c = cosf(angle*0.5f); + s = sinf(angle*0.5f); + + mQ[VX] = v.mV[VX]*s; + mQ[VY] = v.mV[VY]*s; + mQ[VZ] = v.mV[VZ]*s; + mQ[VW] = c; + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setQuat(F32 roll, F32 pitch, F32 yaw) +{ + LLMatrix3 rot_mat(roll, pitch, yaw); + rot_mat.orthogonalize(); + *this = rot_mat.quaternion(); + + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setQuat(const LLMatrix3 &mat) +{ + *this = mat.quaternion(); + normalize(); + return (*this); +} + +const LLQuaternion& LLQuaternion::setQuat(const LLMatrix4 &mat) +{ + *this = mat.quaternion(); + normalize(); + return (*this); +//#if 1 +// // NOTE: LLQuaternion's are actually inverted with respect to +// // the matrices, so this code also assumes inverted quaternions +// // (-x, -y, -z, w). The result is that roll,pitch,yaw are applied +// // in reverse order (yaw,pitch,roll). +// F64 cosX = cos(roll); +// F64 cosY = cos(pitch); +// F64 cosZ = cos(yaw); +// +// F64 sinX = sin(roll); +// F64 sinY = sin(pitch); +// F64 sinZ = sin(yaw); +// +// mQ[VW] = (F32)sqrt(cosY*cosZ - sinX*sinY*sinZ + cosX*cosZ + cosX*cosY + 1.0)*.5; +// if (fabs(mQ[VW]) < F_APPROXIMATELY_ZERO) +// { +// // null rotation, any axis will do +// mQ[VX] = 0.0f; +// mQ[VY] = 1.0f; +// mQ[VZ] = 0.0f; +// } +// else +// { +// F32 inv_s = 1.0f / (4.0f * mQ[VW]); +// mQ[VX] = (F32)-(-sinX*cosY - cosX*sinY*sinZ - sinX*cosZ) * inv_s; +// mQ[VY] = (F32)-(-cosX*sinY*cosZ + sinX*sinZ - sinY) * inv_s; +// mQ[VZ] = (F32)-(-cosY*sinZ - sinX*sinY*cosZ - cosX*sinZ) * inv_s; +// } +// +//#else // This only works on a certain subset of roll/pitch/yaw +// +// F64 cosX = cosf(roll/2.0); +// F64 cosY = cosf(pitch/2.0); +// F64 cosZ = cosf(yaw/2.0); +// +// F64 sinX = sinf(roll/2.0); +// F64 sinY = sinf(pitch/2.0); +// F64 sinZ = sinf(yaw/2.0); +// +// mQ[VW] = (F32)(cosX*cosY*cosZ + sinX*sinY*sinZ); +// mQ[VX] = (F32)(sinX*cosY*cosZ - cosX*sinY*sinZ); +// mQ[VY] = (F32)(cosX*sinY*cosZ + sinX*cosY*sinZ); +// mQ[VZ] = (F32)(cosX*cosY*sinZ - sinX*sinY*cosZ); +//#endif +// +// normalize(); +// return (*this); +} + +// SJB: This code is correct for a logicly stored (non-transposed) matrix; +// Our matrices are stored transposed, OpenGL style, so this generates the +// INVERSE matrix, or the CORRECT matrix form an INVERSE quaternion. +// Because we use similar logic in LLMatrix3::quaternion(), +// we are internally consistant so everything works OK :) +LLMatrix3 LLQuaternion::getMatrix3(void) const +{ + LLMatrix3 mat; + F32 xx, xy, xz, xw, yy, yz, yw, zz, zw; + + xx = mQ[VX] * mQ[VX]; + xy = mQ[VX] * mQ[VY]; + xz = mQ[VX] * mQ[VZ]; + xw = mQ[VX] * mQ[VW]; + + yy = mQ[VY] * mQ[VY]; + yz = mQ[VY] * mQ[VZ]; + yw = mQ[VY] * mQ[VW]; + + zz = mQ[VZ] * mQ[VZ]; + zw = mQ[VZ] * mQ[VW]; + + mat.mMatrix[0][0] = 1.f - 2.f * ( yy + zz ); + mat.mMatrix[0][1] = 2.f * ( xy + zw ); + mat.mMatrix[0][2] = 2.f * ( xz - yw ); + + mat.mMatrix[1][0] = 2.f * ( xy - zw ); + mat.mMatrix[1][1] = 1.f - 2.f * ( xx + zz ); + mat.mMatrix[1][2] = 2.f * ( yz + xw ); + + mat.mMatrix[2][0] = 2.f * ( xz + yw ); + mat.mMatrix[2][1] = 2.f * ( yz - xw ); + mat.mMatrix[2][2] = 1.f - 2.f * ( xx + yy ); + + return mat; +} + +LLMatrix4 LLQuaternion::getMatrix4(void) const +{ + LLMatrix4 mat; + F32 xx, xy, xz, xw, yy, yz, yw, zz, zw; + + xx = mQ[VX] * mQ[VX]; + xy = mQ[VX] * mQ[VY]; + xz = mQ[VX] * mQ[VZ]; + xw = mQ[VX] * mQ[VW]; + + yy = mQ[VY] * mQ[VY]; + yz = mQ[VY] * mQ[VZ]; + yw = mQ[VY] * mQ[VW]; + + zz = mQ[VZ] * mQ[VZ]; + zw = mQ[VZ] * mQ[VW]; + + mat.mMatrix[0][0] = 1.f - 2.f * ( yy + zz ); + mat.mMatrix[0][1] = 2.f * ( xy + zw ); + mat.mMatrix[0][2] = 2.f * ( xz - yw ); + + mat.mMatrix[1][0] = 2.f * ( xy - zw ); + mat.mMatrix[1][1] = 1.f - 2.f * ( xx + zz ); + mat.mMatrix[1][2] = 2.f * ( yz + xw ); + + mat.mMatrix[2][0] = 2.f * ( xz + yw ); + mat.mMatrix[2][1] = 2.f * ( yz - xw ); + mat.mMatrix[2][2] = 1.f - 2.f * ( xx + yy ); + + // TODO -- should we set the translation portion to zero? + + return mat; +} + + + + +// Other useful methods + + +// calculate the shortest rotation from a to b +void LLQuaternion::shortestArc(const LLVector3 &a, const LLVector3 &b) +{ + // Make a local copy of both vectors. + LLVector3 vec_a = a; + LLVector3 vec_b = b; + + // Make sure neither vector is zero length. Also normalize + // the vectors while we are at it. + F32 vec_a_mag = vec_a.normalize(); + F32 vec_b_mag = vec_b.normalize(); + if (vec_a_mag < F_APPROXIMATELY_ZERO || + vec_b_mag < F_APPROXIMATELY_ZERO) + { + // Can't calculate a rotation from this. + // Just return ZERO_ROTATION instead. + loadIdentity(); + return; + } + + // Create an axis to rotate around, and the cos of the angle to rotate. + LLVector3 axis = vec_a % vec_b; + F32 cos_theta = vec_a * vec_b; + + // Check the angle between the vectors to see if they are parallel or anti-parallel. + if (cos_theta > 1.0 - F_APPROXIMATELY_ZERO) + { + // a and b are parallel. No rotation is necessary. + loadIdentity(); + } + else if (cos_theta < -1.0 + F_APPROXIMATELY_ZERO) + { + // a and b are anti-parallel. + // Rotate 180 degrees around some orthogonal axis. + // Find the projection of the x-axis onto a, and try + // using the vector between the projection and the x-axis + // as the orthogonal axis. + LLVector3 proj = vec_a.mV[VX] / (vec_a * vec_a) * vec_a; + LLVector3 ortho_axis(1.f, 0.f, 0.f); + ortho_axis -= proj; + + // Turn this into an orthonormal axis. + F32 ortho_length = ortho_axis.normalize(); + // If the axis' length is 0, then our guess at an orthogonal axis + // was wrong (a is parallel to the x-axis). + if (ortho_length < F_APPROXIMATELY_ZERO) + { + // Use the z-axis instead. + ortho_axis.setVec(0.f, 0.f, 1.f); + } + + // Construct a quaternion from this orthonormal axis. + mQ[VX] = ortho_axis.mV[VX]; + mQ[VY] = ortho_axis.mV[VY]; + mQ[VZ] = ortho_axis.mV[VZ]; + mQ[VW] = 0.f; + } + else + { + // a and b are NOT parallel or anti-parallel. + // Return the rotation between these vectors. + F32 theta = (F32)acos(cos_theta); + + setAngleAxis(theta, axis); + } +} + +// constrains rotation to a cone angle specified in radians +const LLQuaternion &LLQuaternion::constrain(F32 radians) +{ + const F32 cos_angle_lim = cosf( radians/2 ); // mQ[VW] limit + const F32 sin_angle_lim = sinf( radians/2 ); // rotation axis length limit + + if (mQ[VW] < 0.f) + { + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + mQ[VW] *= -1.f; + } + + // if rotation angle is greater than limit (cos is less than limit) + if( mQ[VW] < cos_angle_lim ) + { + mQ[VW] = cos_angle_lim; + F32 axis_len = sqrtf( mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] ); // sin(theta/2) + F32 axis_mult_fact = sin_angle_lim / axis_len; + mQ[VX] *= axis_mult_fact; + mQ[VY] *= axis_mult_fact; + mQ[VZ] *= axis_mult_fact; + } + + return *this; +} + +// Operators + +std::ostream& operator<<(std::ostream &s, const LLQuaternion &a) +{ + s << "{ " + << a.mQ[VX] << ", " << a.mQ[VY] << ", " << a.mQ[VZ] << ", " << a.mQ[VW] + << " }"; + return s; +} + + +// Does NOT renormalize the result +LLQuaternion operator*(const LLQuaternion &a, const LLQuaternion &b) +{ +// LLQuaternion::mMultCount++; + + LLQuaternion q( + b.mQ[3] * a.mQ[0] + b.mQ[0] * a.mQ[3] + b.mQ[1] * a.mQ[2] - b.mQ[2] * a.mQ[1], + b.mQ[3] * a.mQ[1] + b.mQ[1] * a.mQ[3] + b.mQ[2] * a.mQ[0] - b.mQ[0] * a.mQ[2], + b.mQ[3] * a.mQ[2] + b.mQ[2] * a.mQ[3] + b.mQ[0] * a.mQ[1] - b.mQ[1] * a.mQ[0], + b.mQ[3] * a.mQ[3] - b.mQ[0] * a.mQ[0] - b.mQ[1] * a.mQ[1] - b.mQ[2] * a.mQ[2] + ); + return q; +} + +/* +LLMatrix4 operator*(const LLMatrix4 &m, const LLQuaternion &q) +{ + LLMatrix4 qmat(q); + return (m*qmat); +} +*/ + + + +LLVector4 operator*(const LLVector4 &a, const LLQuaternion &rot) +{ + F32 rw = - rot.mQ[VX] * a.mV[VX] - rot.mQ[VY] * a.mV[VY] - rot.mQ[VZ] * a.mV[VZ]; + F32 rx = rot.mQ[VW] * a.mV[VX] + rot.mQ[VY] * a.mV[VZ] - rot.mQ[VZ] * a.mV[VY]; + F32 ry = rot.mQ[VW] * a.mV[VY] + rot.mQ[VZ] * a.mV[VX] - rot.mQ[VX] * a.mV[VZ]; + F32 rz = rot.mQ[VW] * a.mV[VZ] + rot.mQ[VX] * a.mV[VY] - rot.mQ[VY] * a.mV[VX]; + + F32 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; + F32 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; + F32 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; + + return LLVector4(nx, ny, nz, a.mV[VW]); +} + +LLVector3 operator*(const LLVector3 &a, const LLQuaternion &rot) +{ + F32 rw = - rot.mQ[VX] * a.mV[VX] - rot.mQ[VY] * a.mV[VY] - rot.mQ[VZ] * a.mV[VZ]; + F32 rx = rot.mQ[VW] * a.mV[VX] + rot.mQ[VY] * a.mV[VZ] - rot.mQ[VZ] * a.mV[VY]; + F32 ry = rot.mQ[VW] * a.mV[VY] + rot.mQ[VZ] * a.mV[VX] - rot.mQ[VX] * a.mV[VZ]; + F32 rz = rot.mQ[VW] * a.mV[VZ] + rot.mQ[VX] * a.mV[VY] - rot.mQ[VY] * a.mV[VX]; + + F32 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; + F32 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; + F32 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; + + return LLVector3(nx, ny, nz); +} + +LLVector3d operator*(const LLVector3d &a, const LLQuaternion &rot) +{ + F64 rw = - rot.mQ[VX] * a.mdV[VX] - rot.mQ[VY] * a.mdV[VY] - rot.mQ[VZ] * a.mdV[VZ]; + F64 rx = rot.mQ[VW] * a.mdV[VX] + rot.mQ[VY] * a.mdV[VZ] - rot.mQ[VZ] * a.mdV[VY]; + F64 ry = rot.mQ[VW] * a.mdV[VY] + rot.mQ[VZ] * a.mdV[VX] - rot.mQ[VX] * a.mdV[VZ]; + F64 rz = rot.mQ[VW] * a.mdV[VZ] + rot.mQ[VX] * a.mdV[VY] - rot.mQ[VY] * a.mdV[VX]; + + F64 nx = - rw * rot.mQ[VX] + rx * rot.mQ[VW] - ry * rot.mQ[VZ] + rz * rot.mQ[VY]; + F64 ny = - rw * rot.mQ[VY] + ry * rot.mQ[VW] - rz * rot.mQ[VX] + rx * rot.mQ[VZ]; + F64 nz = - rw * rot.mQ[VZ] + rz * rot.mQ[VW] - rx * rot.mQ[VY] + ry * rot.mQ[VX]; + + return LLVector3d(nx, ny, nz); +} + +F32 dot(const LLQuaternion &a, const LLQuaternion &b) +{ + return a.mQ[VX] * b.mQ[VX] + + a.mQ[VY] * b.mQ[VY] + + a.mQ[VZ] * b.mQ[VZ] + + a.mQ[VW] * b.mQ[VW]; +} + +// DEMO HACK: This lerp is probably inocrrect now due intermediate normalization +// it should look more like the lerp below +#if 0 +// linear interpolation +LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q) +{ + LLQuaternion r; + r = t * (q - p) + p; + r.normalize(); + return r; +} +#endif + +// lerp from identity to q +LLQuaternion lerp(F32 t, const LLQuaternion &q) +{ + LLQuaternion r; + r.mQ[VX] = t * q.mQ[VX]; + r.mQ[VY] = t * q.mQ[VY]; + r.mQ[VZ] = t * q.mQ[VZ]; + r.mQ[VW] = t * (q.mQ[VZ] - 1.f) + 1.f; + r.normalize(); + return r; +} + +LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q) +{ + LLQuaternion r; + F32 inv_t; + + inv_t = 1.f - t; + + r.mQ[VX] = t * q.mQ[VX] + (inv_t * p.mQ[VX]); + r.mQ[VY] = t * q.mQ[VY] + (inv_t * p.mQ[VY]); + r.mQ[VZ] = t * q.mQ[VZ] + (inv_t * p.mQ[VZ]); + r.mQ[VW] = t * q.mQ[VW] + (inv_t * p.mQ[VW]); + r.normalize(); + return r; +} + + +// spherical linear interpolation +LLQuaternion slerp( F32 u, const LLQuaternion &a, const LLQuaternion &b ) +{ + // cosine theta = dot product of a and b + F32 cos_t = a.mQ[0]*b.mQ[0] + a.mQ[1]*b.mQ[1] + a.mQ[2]*b.mQ[2] + a.mQ[3]*b.mQ[3]; + + // if b is on opposite hemisphere from a, use -a instead + int bflip; + if (cos_t < 0.0f) + { + cos_t = -cos_t; + bflip = TRUE; + } + else + bflip = FALSE; + + // if B is (within precision limits) the same as A, + // just linear interpolate between A and B. + F32 alpha; // interpolant + F32 beta; // 1 - interpolant + if (1.0f - cos_t < 0.00001f) + { + beta = 1.0f - u; + alpha = u; + } + else + { + F32 theta = acosf(cos_t); + F32 sin_t = sinf(theta); + beta = sinf(theta - u*theta) / sin_t; + alpha = sinf(u*theta) / sin_t; + } + + if (bflip) + beta = -beta; + + // interpolate + LLQuaternion ret; + ret.mQ[0] = beta*a.mQ[0] + alpha*b.mQ[0]; + ret.mQ[1] = beta*a.mQ[1] + alpha*b.mQ[1]; + ret.mQ[2] = beta*a.mQ[2] + alpha*b.mQ[2]; + ret.mQ[3] = beta*a.mQ[3] + alpha*b.mQ[3]; + + return ret; +} + +// lerp whenever possible +LLQuaternion nlerp(F32 t, const LLQuaternion &a, const LLQuaternion &b) +{ + if (dot(a, b) < 0.f) + { + return slerp(t, a, b); + } + else + { + return lerp(t, a, b); + } +} + +LLQuaternion nlerp(F32 t, const LLQuaternion &q) +{ + if (q.mQ[VW] < 0.f) + { + return slerp(t, q); + } + else + { + return lerp(t, q); + } +} + +// slerp from identity quaternion to another quaternion +LLQuaternion slerp(F32 t, const LLQuaternion &q) +{ + F32 c = q.mQ[VW]; + if (1.0f == t || 1.0f == c) + { + // the trivial cases + return q; + } + + LLQuaternion r; + F32 s, angle, stq, stp; + + s = (F32) sqrt(1.f - c*c); + + if (c < 0.0f) + { + // when c < 0.0 then theta > PI/2 + // since quat and -quat are the same rotation we invert one of + // p or q to reduce unecessary spins + // A equivalent way to do it is to convert acos(c) as if it had + // been negative, and to negate stp + angle = (F32) acos(-c); + stp = -(F32) sin(angle * (1.f - t)); + stq = (F32) sin(angle * t); + } + else + { + angle = (F32) acos(c); + stp = (F32) sin(angle * (1.f - t)); + stq = (F32) sin(angle * t); + } + + r.mQ[VX] = (q.mQ[VX] * stq) / s; + r.mQ[VY] = (q.mQ[VY] * stq) / s; + r.mQ[VZ] = (q.mQ[VZ] * stq) / s; + r.mQ[VW] = (stp + q.mQ[VW] * stq) / s; + + return r; +} + +LLQuaternion mayaQ(F32 xRot, F32 yRot, F32 zRot, LLQuaternion::Order order) +{ + LLQuaternion xQ( xRot*DEG_TO_RAD, LLVector3(1.0f, 0.0f, 0.0f) ); + LLQuaternion yQ( yRot*DEG_TO_RAD, LLVector3(0.0f, 1.0f, 0.0f) ); + LLQuaternion zQ( zRot*DEG_TO_RAD, LLVector3(0.0f, 0.0f, 1.0f) ); + LLQuaternion ret; + switch( order ) + { + case LLQuaternion::XYZ: + ret = xQ * yQ * zQ; + break; + case LLQuaternion::YZX: + ret = yQ * zQ * xQ; + break; + case LLQuaternion::ZXY: + ret = zQ * xQ * yQ; + break; + case LLQuaternion::XZY: + ret = xQ * zQ * yQ; + break; + case LLQuaternion::YXZ: + ret = yQ * xQ * zQ; + break; + case LLQuaternion::ZYX: + ret = zQ * yQ * xQ; + break; + } + return ret; +} + +const char *OrderToString( const LLQuaternion::Order order ) +{ + const char *p = NULL; + switch( order ) + { + default: + case LLQuaternion::XYZ: + p = "XYZ"; + break; + case LLQuaternion::YZX: + p = "YZX"; + break; + case LLQuaternion::ZXY: + p = "ZXY"; + break; + case LLQuaternion::XZY: + p = "XZY"; + break; + case LLQuaternion::YXZ: + p = "YXZ"; + break; + case LLQuaternion::ZYX: + p = "ZYX"; + break; + } + return p; +} + +LLQuaternion::Order StringToOrder( const char *str ) +{ + if (strncmp(str, "XYZ", 3)==0 || strncmp(str, "xyz", 3)==0) + return LLQuaternion::XYZ; + + if (strncmp(str, "YZX", 3)==0 || strncmp(str, "yzx", 3)==0) + return LLQuaternion::YZX; + + if (strncmp(str, "ZXY", 3)==0 || strncmp(str, "zxy", 3)==0) + return LLQuaternion::ZXY; + + if (strncmp(str, "XZY", 3)==0 || strncmp(str, "xzy", 3)==0) + return LLQuaternion::XZY; + + if (strncmp(str, "YXZ", 3)==0 || strncmp(str, "yxz", 3)==0) + return LLQuaternion::YXZ; + + if (strncmp(str, "ZYX", 3)==0 || strncmp(str, "zyx", 3)==0) + return LLQuaternion::ZYX; + + return LLQuaternion::XYZ; +} + +void LLQuaternion::getAngleAxis(F32* angle, LLVector3 &vec) const +{ + F32 cos_a = mQ[VW]; + if (cos_a > 1.0f) cos_a = 1.0f; + if (cos_a < -1.0f) cos_a = -1.0f; + + F32 sin_a = (F32) sqrt( 1.0f - cos_a * cos_a ); + + if ( fabs( sin_a ) < 0.0005f ) + sin_a = 1.0f; + else + sin_a = 1.f/sin_a; + + F32 temp_angle = 2.0f * (F32) acos( cos_a ); + if (temp_angle > F_PI) + { + // The (angle,axis) pair should never have angles outside [PI, -PI] + // since we want the _shortest_ (angle,axis) solution. + // Since acos is defined for [0, PI], and we multiply by 2.0, we + // can push the angle outside the acceptible range. + // When this happens we set the angle to the other portion of a + // full 2PI rotation, and negate the axis, which reverses the + // direction of the rotation (by the right-hand rule). + *angle = 2.f * F_PI - temp_angle; + vec.mV[VX] = - mQ[VX] * sin_a; + vec.mV[VY] = - mQ[VY] * sin_a; + vec.mV[VZ] = - mQ[VZ] * sin_a; + } + else + { + *angle = temp_angle; + vec.mV[VX] = mQ[VX] * sin_a; + vec.mV[VY] = mQ[VY] * sin_a; + vec.mV[VZ] = mQ[VZ] * sin_a; + } +} + + +// quaternion does not need to be normalized +void LLQuaternion::getEulerAngles(F32 *roll, F32 *pitch, F32 *yaw) const +{ + LLMatrix3 rot_mat(*this); + rot_mat.orthogonalize(); + rot_mat.getEulerAngles(roll, pitch, yaw); + +// // NOTE: LLQuaternion's are actually inverted with respect to +// // the matrices, so this code also assumes inverted quaternions +// // (-x, -y, -z, w). The result is that roll,pitch,yaw are applied +// // in reverse order (yaw,pitch,roll). +// F32 x = -mQ[VX], y = -mQ[VY], z = -mQ[VZ], w = mQ[VW]; +// F64 m20 = 2.0*(x*z-y*w); +// if (1.0f - fabsf(m20) < F_APPROXIMATELY_ZERO) +// { +// *roll = 0.0f; +// *pitch = (F32)asin(m20); +// *yaw = (F32)atan2(2.0*(x*y-z*w), 1.0 - 2.0*(x*x+z*z)); +// } +// else +// { +// *roll = (F32)atan2(-2.0*(y*z+x*w), 1.0-2.0*(x*x+y*y)); +// *pitch = (F32)asin(m20); +// *yaw = (F32)atan2(-2.0*(x*y+z*w), 1.0-2.0*(y*y+z*z)); +// } +} + +// Saves space by using the fact that our quaternions are normalized +LLVector3 LLQuaternion::packToVector3() const +{ + if( mQ[VW] >= 0 ) + { + return LLVector3( mQ[VX], mQ[VY], mQ[VZ] ); + } + else + { + return LLVector3( -mQ[VX], -mQ[VY], -mQ[VZ] ); + } +} + +// Saves space by using the fact that our quaternions are normalized +void LLQuaternion::unpackFromVector3( const LLVector3& vec ) +{ + mQ[VX] = vec.mV[VX]; + mQ[VY] = vec.mV[VY]; + mQ[VZ] = vec.mV[VZ]; + F32 t = 1.f - vec.magVecSquared(); + if( t > 0 ) + { + mQ[VW] = sqrt( t ); + } + else + { + // Need this to avoid trying to find the square root of a negative number due + // to floating point error. + mQ[VW] = 0; + } +} + +BOOL LLQuaternion::parseQuat(const std::string& buf, LLQuaternion* value) +{ + if( buf.empty() || value == NULL) + { + return FALSE; + } + + LLQuaternion quat; + S32 count = sscanf( buf.c_str(), "%f %f %f %f", quat.mQ + 0, quat.mQ + 1, quat.mQ + 2, quat.mQ + 3 ); + if( 4 == count ) + { + value->set( quat ); + return TRUE; + } + + return FALSE; +} + + +// End diff --git a/indra/llmath/llquaternion.h b/indra/llmath/llquaternion.h index bbd4326483..a7bb09fae3 100644 --- a/indra/llmath/llquaternion.h +++ b/indra/llmath/llquaternion.h @@ -1,594 +1,594 @@ -/** - * @file llquaternion.h - * @brief LLQuaternion class header file. - * - * $LicenseInfo:firstyear=2000&license=viewergpl$ - * - * Copyright (c) 2000-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#ifndef LLQUATERNION_H -#define LLQUATERNION_H - -#include - -#ifndef LLMATH_H //enforce specific include order to avoid tangling inline dependencies -#error "Please include llmath.h first." -#endif - -class LLVector4; -class LLVector3; -class LLVector3d; -class LLMatrix4; -class LLMatrix3; - -// NOTA BENE: Quaternion code is written assuming Unit Quaternions!!!! -// Moreover, it is written assuming that all vectors and matricies -// passed as arguments are normalized and unitary respectively. -// VERY VERY VERY VERY BAD THINGS will happen if these assumptions fail. - -static const U32 LENGTHOFQUAT = 4; - -class LLQuaternion -{ -public: - F32 mQ[LENGTHOFQUAT]; - - static const LLQuaternion DEFAULT; - - LLQuaternion(); // Initializes Quaternion to (0,0,0,1) - explicit LLQuaternion(const LLMatrix4 &mat); // Initializes Quaternion from Matrix4 - explicit LLQuaternion(const LLMatrix3 &mat); // Initializes Quaternion from Matrix3 - LLQuaternion(F32 x, F32 y, F32 z, F32 w); // Initializes Quaternion to normalize(x, y, z, w) - LLQuaternion(F32 angle, const LLVector4 &vec); // Initializes Quaternion to axis_angle2quat(angle, vec) - LLQuaternion(F32 angle, const LLVector3 &vec); // Initializes Quaternion to axis_angle2quat(angle, vec) - LLQuaternion(const F32 *q); // Initializes Quaternion to normalize(x, y, z, w) - LLQuaternion(const LLVector3 &x_axis, - const LLVector3 &y_axis, - const LLVector3 &z_axis); // Initializes Quaternion from Matrix3 = [x_axis ; y_axis ; z_axis] - - BOOL isIdentity() const; - BOOL isNotIdentity() const; - BOOL isFinite() const; // checks to see if all values of LLQuaternion are finite - void quantize16(F32 lower, F32 upper); // changes the vector to reflect quatization - void quantize8(F32 lower, F32 upper); // changes the vector to reflect quatization - void loadIdentity(); // Loads the quaternion that represents the identity rotation - - const LLQuaternion& set(F32 x, F32 y, F32 z, F32 w); // Sets Quaternion to normalize(x, y, z, w) - const LLQuaternion& set(const LLQuaternion &quat); // Copies Quaternion - const LLQuaternion& set(const F32 *q); // Sets Quaternion to normalize(quat[VX], quat[VY], quat[VZ], quat[VW]) - const LLQuaternion& set(const LLMatrix3 &mat); // Sets Quaternion to mat2quat(mat) - const LLQuaternion& set(const LLMatrix4 &mat); // Sets Quaternion to mat2quat(mat) - - const LLQuaternion& setAngleAxis(F32 angle, F32 x, F32 y, F32 z); // Sets Quaternion to axis_angle2quat(angle, x, y, z) - const LLQuaternion& setAngleAxis(F32 angle, const LLVector3 &vec); // Sets Quaternion to axis_angle2quat(angle, vec) - const LLQuaternion& setAngleAxis(F32 angle, const LLVector4 &vec); // Sets Quaternion to axis_angle2quat(angle, vec) - const LLQuaternion& setEulerAngles(F32 roll, F32 pitch, F32 yaw); // Sets Quaternion to euler2quat(pitch, yaw, roll) - - const LLQuaternion& setQuatInit(F32 x, F32 y, F32 z, F32 w); // deprecated - const LLQuaternion& setQuat(const LLQuaternion &quat); // deprecated - const LLQuaternion& setQuat(const F32 *q); // deprecated - const LLQuaternion& setQuat(const LLMatrix3 &mat); // deprecated - const LLQuaternion& setQuat(const LLMatrix4 &mat); // deprecated - const LLQuaternion& setQuat(F32 angle, F32 x, F32 y, F32 z); // deprecated - const LLQuaternion& setQuat(F32 angle, const LLVector3 &vec); // deprecated - const LLQuaternion& setQuat(F32 angle, const LLVector4 &vec); // deprecated - const LLQuaternion& setQuat(F32 roll, F32 pitch, F32 yaw); // deprecated - - LLMatrix4 getMatrix4(void) const; // Returns the Matrix4 equivalent of Quaternion - LLMatrix3 getMatrix3(void) const; // Returns the Matrix3 equivalent of Quaternion - void getAngleAxis(F32* angle, F32* x, F32* y, F32* z) const; // returns rotation in radians about axis x,y,z - void getAngleAxis(F32* angle, LLVector3 &vec) const; - void getEulerAngles(F32 *roll, F32* pitch, F32 *yaw) const; - - F32 normalize(); // Normalizes Quaternion and returns magnitude - F32 normQuat(); // deprecated - - const LLQuaternion& conjugate(void); // Conjugates Quaternion and returns result - const LLQuaternion& conjQuat(void); // deprecated - - // Other useful methods - const LLQuaternion& transpose(); // transpose (same as conjugate) - const LLQuaternion& transQuat(); // deprecated - - void shortestArc(const LLVector3 &a, const LLVector3 &b); // shortest rotation from a to b - const LLQuaternion& constrain(F32 radians); // constrains rotation to a cone angle specified in radians - - // Standard operators - friend std::ostream& operator<<(std::ostream &s, const LLQuaternion &a); // Prints a - friend LLQuaternion operator+(const LLQuaternion &a, const LLQuaternion &b); // Addition - friend LLQuaternion operator-(const LLQuaternion &a, const LLQuaternion &b); // Subtraction - friend LLQuaternion operator-(const LLQuaternion &a); // Negation - friend LLQuaternion operator*(F32 a, const LLQuaternion &q); // Scale - friend LLQuaternion operator*(const LLQuaternion &q, F32 b); // Scale - friend LLQuaternion operator*(const LLQuaternion &a, const LLQuaternion &b); // Returns a * b - friend LLQuaternion operator~(const LLQuaternion &a); // Returns a* (Conjugate of a) - bool operator==(const LLQuaternion &b) const; // Returns a == b - bool operator!=(const LLQuaternion &b) const; // Returns a != b - - friend const LLQuaternion& operator*=(LLQuaternion &a, const LLQuaternion &b); // Returns a * b - - friend LLVector4 operator*(const LLVector4 &a, const LLQuaternion &rot); // Rotates a by rot - friend LLVector3 operator*(const LLVector3 &a, const LLQuaternion &rot); // Rotates a by rot - friend LLVector3d operator*(const LLVector3d &a, const LLQuaternion &rot); // Rotates a by rot - - // Non-standard operators - friend F32 dot(const LLQuaternion &a, const LLQuaternion &b); - friend LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // linear interpolation (t = 0 to 1) from p to q - friend LLQuaternion lerp(F32 t, const LLQuaternion &q); // linear interpolation (t = 0 to 1) from identity to q - friend LLQuaternion slerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // spherical linear interpolation from p to q - friend LLQuaternion slerp(F32 t, const LLQuaternion &q); // spherical linear interpolation from identity to q - friend LLQuaternion nlerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // normalized linear interpolation from p to q - friend LLQuaternion nlerp(F32 t, const LLQuaternion &q); // normalized linear interpolation from p to q - - LLVector3 packToVector3() const; // Saves space by using the fact that our quaternions are normalized - void unpackFromVector3(const LLVector3& vec); // Saves space by using the fact that our quaternions are normalized - - enum Order { - XYZ = 0, - YZX = 1, - ZXY = 2, - XZY = 3, - YXZ = 4, - ZYX = 5 - }; - // Creates a quaternions from maya's rotation representation, - // which is 3 rotations (in DEGREES) in the specified order - friend LLQuaternion mayaQ(F32 x, F32 y, F32 z, Order order); - - // Conversions between Order and strings like "xyz" or "ZYX" - friend const char *OrderToString( const Order order ); - friend Order StringToOrder( const char *str ); - - static BOOL parseQuat(const std::string& buf, LLQuaternion* value); - - // For debugging, only - //static U32 mMultCount; -}; - -// checker -inline BOOL LLQuaternion::isFinite() const -{ - return (llfinite(mQ[VX]) && llfinite(mQ[VY]) && llfinite(mQ[VZ]) && llfinite(mQ[VS])); -} - -inline BOOL LLQuaternion::isIdentity() const -{ - return - ( mQ[VX] == 0.f ) && - ( mQ[VY] == 0.f ) && - ( mQ[VZ] == 0.f ) && - ( mQ[VS] == 1.f ); -} - -inline BOOL LLQuaternion::isNotIdentity() const -{ - return - ( mQ[VX] != 0.f ) || - ( mQ[VY] != 0.f ) || - ( mQ[VZ] != 0.f ) || - ( mQ[VS] != 1.f ); -} - - - -inline LLQuaternion::LLQuaternion(void) -{ - mQ[VX] = 0.f; - mQ[VY] = 0.f; - mQ[VZ] = 0.f; - mQ[VS] = 1.f; -} - -inline LLQuaternion::LLQuaternion(F32 x, F32 y, F32 z, F32 w) -{ - mQ[VX] = x; - mQ[VY] = y; - mQ[VZ] = z; - mQ[VS] = w; - - //RN: don't normalize this case as its used mainly for temporaries during calculations - //normalize(); - /* - F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); - mag -= 1.f; - mag = fabs(mag); - llassert(mag < 10.f*FP_MAG_THRESHOLD); - */ -} - -inline LLQuaternion::LLQuaternion(const F32 *q) -{ - mQ[VX] = q[VX]; - mQ[VY] = q[VY]; - mQ[VZ] = q[VZ]; - mQ[VS] = q[VW]; - - normalize(); - /* - F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); - mag -= 1.f; - mag = fabs(mag); - llassert(mag < FP_MAG_THRESHOLD); - */ -} - - -inline void LLQuaternion::loadIdentity() -{ - mQ[VX] = 0.0f; - mQ[VY] = 0.0f; - mQ[VZ] = 0.0f; - mQ[VW] = 1.0f; -} - - -inline const LLQuaternion& LLQuaternion::set(F32 x, F32 y, F32 z, F32 w) -{ - mQ[VX] = x; - mQ[VY] = y; - mQ[VZ] = z; - mQ[VS] = w; - normalize(); - return (*this); -} - -inline const LLQuaternion& LLQuaternion::set(const LLQuaternion &quat) -{ - mQ[VX] = quat.mQ[VX]; - mQ[VY] = quat.mQ[VY]; - mQ[VZ] = quat.mQ[VZ]; - mQ[VW] = quat.mQ[VW]; - normalize(); - return (*this); -} - -inline const LLQuaternion& LLQuaternion::set(const F32 *q) -{ - mQ[VX] = q[VX]; - mQ[VY] = q[VY]; - mQ[VZ] = q[VZ]; - mQ[VS] = q[VW]; - normalize(); - return (*this); -} - - -// deprecated -inline const LLQuaternion& LLQuaternion::setQuatInit(F32 x, F32 y, F32 z, F32 w) -{ - mQ[VX] = x; - mQ[VY] = y; - mQ[VZ] = z; - mQ[VS] = w; - normalize(); - return (*this); -} - -// deprecated -inline const LLQuaternion& LLQuaternion::setQuat(const LLQuaternion &quat) -{ - mQ[VX] = quat.mQ[VX]; - mQ[VY] = quat.mQ[VY]; - mQ[VZ] = quat.mQ[VZ]; - mQ[VW] = quat.mQ[VW]; - normalize(); - return (*this); -} - -// deprecated -inline const LLQuaternion& LLQuaternion::setQuat(const F32 *q) -{ - mQ[VX] = q[VX]; - mQ[VY] = q[VY]; - mQ[VZ] = q[VZ]; - mQ[VS] = q[VW]; - normalize(); - return (*this); -} - -// There may be a cheaper way that avoids the sqrt. -// Does sin_a = VX*VX + VY*VY + VZ*VZ? -// Copied from Matrix and Quaternion FAQ 1.12 -inline void LLQuaternion::getAngleAxis(F32* angle, F32* x, F32* y, F32* z) const -{ - F32 cos_a = mQ[VW]; - if (cos_a > 1.0f) cos_a = 1.0f; - if (cos_a < -1.0f) cos_a = -1.0f; - - F32 sin_a = (F32) sqrt( 1.0f - cos_a * cos_a ); - - if ( fabs( sin_a ) < 0.0005f ) - sin_a = 1.0f; - else - sin_a = 1.f/sin_a; - - F32 temp_angle = 2.0f * (F32) acos( cos_a ); - if (temp_angle > F_PI) - { - // The (angle,axis) pair should never have angles outside [PI, -PI] - // since we want the _shortest_ (angle,axis) solution. - // Since acos is defined for [0, PI], and we multiply by 2.0, we - // can push the angle outside the acceptible range. - // When this happens we set the angle to the other portion of a - // full 2PI rotation, and negate the axis, which reverses the - // direction of the rotation (by the right-hand rule). - *angle = 2.f * F_PI - temp_angle; - *x = - mQ[VX] * sin_a; - *y = - mQ[VY] * sin_a; - *z = - mQ[VZ] * sin_a; - } - else - { - *angle = temp_angle; - *x = mQ[VX] * sin_a; - *y = mQ[VY] * sin_a; - *z = mQ[VZ] * sin_a; - } -} - -inline const LLQuaternion& LLQuaternion::conjugate() -{ - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - return (*this); -} - -inline const LLQuaternion& LLQuaternion::conjQuat() -{ - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - return (*this); -} - -// Transpose -inline const LLQuaternion& LLQuaternion::transpose() -{ - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - return (*this); -} - -// deprecated -inline const LLQuaternion& LLQuaternion::transQuat() -{ - mQ[VX] *= -1.f; - mQ[VY] *= -1.f; - mQ[VZ] *= -1.f; - return (*this); -} - - -inline LLQuaternion operator+(const LLQuaternion &a, const LLQuaternion &b) -{ - return LLQuaternion( - a.mQ[VX] + b.mQ[VX], - a.mQ[VY] + b.mQ[VY], - a.mQ[VZ] + b.mQ[VZ], - a.mQ[VW] + b.mQ[VW] ); -} - - -inline LLQuaternion operator-(const LLQuaternion &a, const LLQuaternion &b) -{ - return LLQuaternion( - a.mQ[VX] - b.mQ[VX], - a.mQ[VY] - b.mQ[VY], - a.mQ[VZ] - b.mQ[VZ], - a.mQ[VW] - b.mQ[VW] ); -} - - -inline LLQuaternion operator-(const LLQuaternion &a) -{ - return LLQuaternion( - -a.mQ[VX], - -a.mQ[VY], - -a.mQ[VZ], - -a.mQ[VW] ); -} - - -inline LLQuaternion operator*(F32 a, const LLQuaternion &q) -{ - return LLQuaternion( - a * q.mQ[VX], - a * q.mQ[VY], - a * q.mQ[VZ], - a * q.mQ[VW] ); -} - - -inline LLQuaternion operator*(const LLQuaternion &q, F32 a) -{ - return LLQuaternion( - a * q.mQ[VX], - a * q.mQ[VY], - a * q.mQ[VZ], - a * q.mQ[VW] ); -} - -inline LLQuaternion operator~(const LLQuaternion &a) -{ - LLQuaternion q(a); - q.conjQuat(); - return q; -} - -inline bool LLQuaternion::operator==(const LLQuaternion &b) const -{ - return ( (mQ[VX] == b.mQ[VX]) - &&(mQ[VY] == b.mQ[VY]) - &&(mQ[VZ] == b.mQ[VZ]) - &&(mQ[VS] == b.mQ[VS])); -} - -inline bool LLQuaternion::operator!=(const LLQuaternion &b) const -{ - return ( (mQ[VX] != b.mQ[VX]) - ||(mQ[VY] != b.mQ[VY]) - ||(mQ[VZ] != b.mQ[VZ]) - ||(mQ[VS] != b.mQ[VS])); -} - -inline const LLQuaternion& operator*=(LLQuaternion &a, const LLQuaternion &b) -{ -#if 1 - LLQuaternion q( - b.mQ[3] * a.mQ[0] + b.mQ[0] * a.mQ[3] + b.mQ[1] * a.mQ[2] - b.mQ[2] * a.mQ[1], - b.mQ[3] * a.mQ[1] + b.mQ[1] * a.mQ[3] + b.mQ[2] * a.mQ[0] - b.mQ[0] * a.mQ[2], - b.mQ[3] * a.mQ[2] + b.mQ[2] * a.mQ[3] + b.mQ[0] * a.mQ[1] - b.mQ[1] * a.mQ[0], - b.mQ[3] * a.mQ[3] - b.mQ[0] * a.mQ[0] - b.mQ[1] * a.mQ[1] - b.mQ[2] * a.mQ[2] - ); - a = q; -#else - a = a * b; -#endif - return a; -} - -const F32 ONE_PART_IN_A_MILLION = 0.000001f; - -inline F32 LLQuaternion::normalize() -{ - F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); - - if (mag > FP_MAG_THRESHOLD) - { - // Floating point error can prevent some quaternions from achieving - // exact unity length. When trying to renormalize such quaternions we - // can oscillate between multiple quantized states. To prevent such - // drifts we only renomalize if the length is far enough from unity. - if (fabs(1.f - mag) > ONE_PART_IN_A_MILLION) - { - F32 oomag = 1.f/mag; - mQ[VX] *= oomag; - mQ[VY] *= oomag; - mQ[VZ] *= oomag; - mQ[VS] *= oomag; - } - } - else - { - // we were given a very bad quaternion so we set it to identity - mQ[VX] = 0.f; - mQ[VY] = 0.f; - mQ[VZ] = 0.f; - mQ[VS] = 1.f; - } - - return mag; -} - -// deprecated -inline F32 LLQuaternion::normQuat() -{ - F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); - - if (mag > FP_MAG_THRESHOLD) - { - if (fabs(1.f - mag) > ONE_PART_IN_A_MILLION) - { - // only renormalize if length not close enough to 1.0 already - F32 oomag = 1.f/mag; - mQ[VX] *= oomag; - mQ[VY] *= oomag; - mQ[VZ] *= oomag; - mQ[VS] *= oomag; - } - } - else - { - mQ[VX] = 0.f; - mQ[VY] = 0.f; - mQ[VZ] = 0.f; - mQ[VS] = 1.f; - } - - return mag; -} - -LLQuaternion::Order StringToOrder( const char *str ); - -// Some notes about Quaternions - -// What is a Quaternion? -// --------------------- -// A quaternion is a point in 4-dimensional complex space. -// Q = { Qx, Qy, Qz, Qw } -// -// -// Why Quaternions? -// ---------------- -// The set of quaternions that make up the the 4-D unit sphere -// can be mapped to the set of all rotations in 3-D space. Sometimes -// it is easier to describe/manipulate rotations in quaternion space -// than rotation-matrix space. -// -// -// How Quaternions? -// ---------------- -// In order to take advantage of quaternions we need to know how to -// go from rotation-matricies to quaternions and back. We also have -// to agree what variety of rotations we're generating. -// -// Consider the equation... v' = v * R -// -// There are two ways to think about rotations of vectors. -// 1) v' is the same vector in a different reference frame -// 2) v' is a new vector in the same reference frame -// -// bookmark -- which way are we using? -// -// -// Quaternion from Angle-Axis: -// --------------------------- -// Suppose we wanted to represent a rotation of some angle (theta) -// about some axis ({Ax, Ay, Az})... -// -// axis of rotation = {Ax, Ay, Az} -// angle_of_rotation = theta -// -// s = sin(0.5 * theta) -// c = cos(0.5 * theta) -// Q = { s * Ax, s * Ay, s * Az, c } -// -// -// 3x3 Matrix from Quaternion -// -------------------------- -// -// | | -// | 1 - 2 * (y^2 + z^2) 2 * (x * y + z * w) 2 * (y * w - x * z) | -// | | -// M = | 2 * (x * y - z * w) 1 - 2 * (x^2 + z^2) 2 * (y * z + x * w) | -// | | -// | 2 * (x * z + y * w) 2 * (y * z - x * w) 1 - 2 * (x^2 + y^2) | -// | | - -#endif +/** + * @file llquaternion.h + * @brief LLQuaternion class header file. + * + * $LicenseInfo:firstyear=2000&license=viewergpl$ + * + * Copyright (c) 2000-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LLQUATERNION_H +#define LLQUATERNION_H + +#include + +#ifndef LLMATH_H //enforce specific include order to avoid tangling inline dependencies +#error "Please include llmath.h first." +#endif + +class LLVector4; +class LLVector3; +class LLVector3d; +class LLMatrix4; +class LLMatrix3; + +// NOTA BENE: Quaternion code is written assuming Unit Quaternions!!!! +// Moreover, it is written assuming that all vectors and matricies +// passed as arguments are normalized and unitary respectively. +// VERY VERY VERY VERY BAD THINGS will happen if these assumptions fail. + +static const U32 LENGTHOFQUAT = 4; + +class LLQuaternion +{ +public: + F32 mQ[LENGTHOFQUAT]; + + static const LLQuaternion DEFAULT; + + LLQuaternion(); // Initializes Quaternion to (0,0,0,1) + explicit LLQuaternion(const LLMatrix4 &mat); // Initializes Quaternion from Matrix4 + explicit LLQuaternion(const LLMatrix3 &mat); // Initializes Quaternion from Matrix3 + LLQuaternion(F32 x, F32 y, F32 z, F32 w); // Initializes Quaternion to normalize(x, y, z, w) + LLQuaternion(F32 angle, const LLVector4 &vec); // Initializes Quaternion to axis_angle2quat(angle, vec) + LLQuaternion(F32 angle, const LLVector3 &vec); // Initializes Quaternion to axis_angle2quat(angle, vec) + LLQuaternion(const F32 *q); // Initializes Quaternion to normalize(x, y, z, w) + LLQuaternion(const LLVector3 &x_axis, + const LLVector3 &y_axis, + const LLVector3 &z_axis); // Initializes Quaternion from Matrix3 = [x_axis ; y_axis ; z_axis] + + BOOL isIdentity() const; + BOOL isNotIdentity() const; + BOOL isFinite() const; // checks to see if all values of LLQuaternion are finite + void quantize16(F32 lower, F32 upper); // changes the vector to reflect quatization + void quantize8(F32 lower, F32 upper); // changes the vector to reflect quatization + void loadIdentity(); // Loads the quaternion that represents the identity rotation + + const LLQuaternion& set(F32 x, F32 y, F32 z, F32 w); // Sets Quaternion to normalize(x, y, z, w) + const LLQuaternion& set(const LLQuaternion &quat); // Copies Quaternion + const LLQuaternion& set(const F32 *q); // Sets Quaternion to normalize(quat[VX], quat[VY], quat[VZ], quat[VW]) + const LLQuaternion& set(const LLMatrix3 &mat); // Sets Quaternion to mat2quat(mat) + const LLQuaternion& set(const LLMatrix4 &mat); // Sets Quaternion to mat2quat(mat) + + const LLQuaternion& setAngleAxis(F32 angle, F32 x, F32 y, F32 z); // Sets Quaternion to axis_angle2quat(angle, x, y, z) + const LLQuaternion& setAngleAxis(F32 angle, const LLVector3 &vec); // Sets Quaternion to axis_angle2quat(angle, vec) + const LLQuaternion& setAngleAxis(F32 angle, const LLVector4 &vec); // Sets Quaternion to axis_angle2quat(angle, vec) + const LLQuaternion& setEulerAngles(F32 roll, F32 pitch, F32 yaw); // Sets Quaternion to euler2quat(pitch, yaw, roll) + + const LLQuaternion& setQuatInit(F32 x, F32 y, F32 z, F32 w); // deprecated + const LLQuaternion& setQuat(const LLQuaternion &quat); // deprecated + const LLQuaternion& setQuat(const F32 *q); // deprecated + const LLQuaternion& setQuat(const LLMatrix3 &mat); // deprecated + const LLQuaternion& setQuat(const LLMatrix4 &mat); // deprecated + const LLQuaternion& setQuat(F32 angle, F32 x, F32 y, F32 z); // deprecated + const LLQuaternion& setQuat(F32 angle, const LLVector3 &vec); // deprecated + const LLQuaternion& setQuat(F32 angle, const LLVector4 &vec); // deprecated + const LLQuaternion& setQuat(F32 roll, F32 pitch, F32 yaw); // deprecated + + LLMatrix4 getMatrix4(void) const; // Returns the Matrix4 equivalent of Quaternion + LLMatrix3 getMatrix3(void) const; // Returns the Matrix3 equivalent of Quaternion + void getAngleAxis(F32* angle, F32* x, F32* y, F32* z) const; // returns rotation in radians about axis x,y,z + void getAngleAxis(F32* angle, LLVector3 &vec) const; + void getEulerAngles(F32 *roll, F32* pitch, F32 *yaw) const; + + F32 normalize(); // Normalizes Quaternion and returns magnitude + F32 normQuat(); // deprecated + + const LLQuaternion& conjugate(void); // Conjugates Quaternion and returns result + const LLQuaternion& conjQuat(void); // deprecated + + // Other useful methods + const LLQuaternion& transpose(); // transpose (same as conjugate) + const LLQuaternion& transQuat(); // deprecated + + void shortestArc(const LLVector3 &a, const LLVector3 &b); // shortest rotation from a to b + const LLQuaternion& constrain(F32 radians); // constrains rotation to a cone angle specified in radians + + // Standard operators + friend std::ostream& operator<<(std::ostream &s, const LLQuaternion &a); // Prints a + friend LLQuaternion operator+(const LLQuaternion &a, const LLQuaternion &b); // Addition + friend LLQuaternion operator-(const LLQuaternion &a, const LLQuaternion &b); // Subtraction + friend LLQuaternion operator-(const LLQuaternion &a); // Negation + friend LLQuaternion operator*(F32 a, const LLQuaternion &q); // Scale + friend LLQuaternion operator*(const LLQuaternion &q, F32 b); // Scale + friend LLQuaternion operator*(const LLQuaternion &a, const LLQuaternion &b); // Returns a * b + friend LLQuaternion operator~(const LLQuaternion &a); // Returns a* (Conjugate of a) + bool operator==(const LLQuaternion &b) const; // Returns a == b + bool operator!=(const LLQuaternion &b) const; // Returns a != b + + friend const LLQuaternion& operator*=(LLQuaternion &a, const LLQuaternion &b); // Returns a * b + + friend LLVector4 operator*(const LLVector4 &a, const LLQuaternion &rot); // Rotates a by rot + friend LLVector3 operator*(const LLVector3 &a, const LLQuaternion &rot); // Rotates a by rot + friend LLVector3d operator*(const LLVector3d &a, const LLQuaternion &rot); // Rotates a by rot + + // Non-standard operators + friend F32 dot(const LLQuaternion &a, const LLQuaternion &b); + friend LLQuaternion lerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // linear interpolation (t = 0 to 1) from p to q + friend LLQuaternion lerp(F32 t, const LLQuaternion &q); // linear interpolation (t = 0 to 1) from identity to q + friend LLQuaternion slerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // spherical linear interpolation from p to q + friend LLQuaternion slerp(F32 t, const LLQuaternion &q); // spherical linear interpolation from identity to q + friend LLQuaternion nlerp(F32 t, const LLQuaternion &p, const LLQuaternion &q); // normalized linear interpolation from p to q + friend LLQuaternion nlerp(F32 t, const LLQuaternion &q); // normalized linear interpolation from p to q + + LLVector3 packToVector3() const; // Saves space by using the fact that our quaternions are normalized + void unpackFromVector3(const LLVector3& vec); // Saves space by using the fact that our quaternions are normalized + + enum Order { + XYZ = 0, + YZX = 1, + ZXY = 2, + XZY = 3, + YXZ = 4, + ZYX = 5 + }; + // Creates a quaternions from maya's rotation representation, + // which is 3 rotations (in DEGREES) in the specified order + friend LLQuaternion mayaQ(F32 x, F32 y, F32 z, Order order); + + // Conversions between Order and strings like "xyz" or "ZYX" + friend const char *OrderToString( const Order order ); + friend Order StringToOrder( const char *str ); + + static BOOL parseQuat(const std::string& buf, LLQuaternion* value); + + // For debugging, only + //static U32 mMultCount; +}; + +// checker +inline BOOL LLQuaternion::isFinite() const +{ + return (llfinite(mQ[VX]) && llfinite(mQ[VY]) && llfinite(mQ[VZ]) && llfinite(mQ[VS])); +} + +inline BOOL LLQuaternion::isIdentity() const +{ + return + ( mQ[VX] == 0.f ) && + ( mQ[VY] == 0.f ) && + ( mQ[VZ] == 0.f ) && + ( mQ[VS] == 1.f ); +} + +inline BOOL LLQuaternion::isNotIdentity() const +{ + return + ( mQ[VX] != 0.f ) || + ( mQ[VY] != 0.f ) || + ( mQ[VZ] != 0.f ) || + ( mQ[VS] != 1.f ); +} + + + +inline LLQuaternion::LLQuaternion(void) +{ + mQ[VX] = 0.f; + mQ[VY] = 0.f; + mQ[VZ] = 0.f; + mQ[VS] = 1.f; +} + +inline LLQuaternion::LLQuaternion(F32 x, F32 y, F32 z, F32 w) +{ + mQ[VX] = x; + mQ[VY] = y; + mQ[VZ] = z; + mQ[VS] = w; + + //RN: don't normalize this case as its used mainly for temporaries during calculations + //normalize(); + /* + F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); + mag -= 1.f; + mag = fabs(mag); + llassert(mag < 10.f*FP_MAG_THRESHOLD); + */ +} + +inline LLQuaternion::LLQuaternion(const F32 *q) +{ + mQ[VX] = q[VX]; + mQ[VY] = q[VY]; + mQ[VZ] = q[VZ]; + mQ[VS] = q[VW]; + + normalize(); + /* + F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); + mag -= 1.f; + mag = fabs(mag); + llassert(mag < FP_MAG_THRESHOLD); + */ +} + + +inline void LLQuaternion::loadIdentity() +{ + mQ[VX] = 0.0f; + mQ[VY] = 0.0f; + mQ[VZ] = 0.0f; + mQ[VW] = 1.0f; +} + + +inline const LLQuaternion& LLQuaternion::set(F32 x, F32 y, F32 z, F32 w) +{ + mQ[VX] = x; + mQ[VY] = y; + mQ[VZ] = z; + mQ[VS] = w; + normalize(); + return (*this); +} + +inline const LLQuaternion& LLQuaternion::set(const LLQuaternion &quat) +{ + mQ[VX] = quat.mQ[VX]; + mQ[VY] = quat.mQ[VY]; + mQ[VZ] = quat.mQ[VZ]; + mQ[VW] = quat.mQ[VW]; + normalize(); + return (*this); +} + +inline const LLQuaternion& LLQuaternion::set(const F32 *q) +{ + mQ[VX] = q[VX]; + mQ[VY] = q[VY]; + mQ[VZ] = q[VZ]; + mQ[VS] = q[VW]; + normalize(); + return (*this); +} + + +// deprecated +inline const LLQuaternion& LLQuaternion::setQuatInit(F32 x, F32 y, F32 z, F32 w) +{ + mQ[VX] = x; + mQ[VY] = y; + mQ[VZ] = z; + mQ[VS] = w; + normalize(); + return (*this); +} + +// deprecated +inline const LLQuaternion& LLQuaternion::setQuat(const LLQuaternion &quat) +{ + mQ[VX] = quat.mQ[VX]; + mQ[VY] = quat.mQ[VY]; + mQ[VZ] = quat.mQ[VZ]; + mQ[VW] = quat.mQ[VW]; + normalize(); + return (*this); +} + +// deprecated +inline const LLQuaternion& LLQuaternion::setQuat(const F32 *q) +{ + mQ[VX] = q[VX]; + mQ[VY] = q[VY]; + mQ[VZ] = q[VZ]; + mQ[VS] = q[VW]; + normalize(); + return (*this); +} + +// There may be a cheaper way that avoids the sqrt. +// Does sin_a = VX*VX + VY*VY + VZ*VZ? +// Copied from Matrix and Quaternion FAQ 1.12 +inline void LLQuaternion::getAngleAxis(F32* angle, F32* x, F32* y, F32* z) const +{ + F32 cos_a = mQ[VW]; + if (cos_a > 1.0f) cos_a = 1.0f; + if (cos_a < -1.0f) cos_a = -1.0f; + + F32 sin_a = (F32) sqrt( 1.0f - cos_a * cos_a ); + + if ( fabs( sin_a ) < 0.0005f ) + sin_a = 1.0f; + else + sin_a = 1.f/sin_a; + + F32 temp_angle = 2.0f * (F32) acos( cos_a ); + if (temp_angle > F_PI) + { + // The (angle,axis) pair should never have angles outside [PI, -PI] + // since we want the _shortest_ (angle,axis) solution. + // Since acos is defined for [0, PI], and we multiply by 2.0, we + // can push the angle outside the acceptible range. + // When this happens we set the angle to the other portion of a + // full 2PI rotation, and negate the axis, which reverses the + // direction of the rotation (by the right-hand rule). + *angle = 2.f * F_PI - temp_angle; + *x = - mQ[VX] * sin_a; + *y = - mQ[VY] * sin_a; + *z = - mQ[VZ] * sin_a; + } + else + { + *angle = temp_angle; + *x = mQ[VX] * sin_a; + *y = mQ[VY] * sin_a; + *z = mQ[VZ] * sin_a; + } +} + +inline const LLQuaternion& LLQuaternion::conjugate() +{ + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + return (*this); +} + +inline const LLQuaternion& LLQuaternion::conjQuat() +{ + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + return (*this); +} + +// Transpose +inline const LLQuaternion& LLQuaternion::transpose() +{ + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + return (*this); +} + +// deprecated +inline const LLQuaternion& LLQuaternion::transQuat() +{ + mQ[VX] *= -1.f; + mQ[VY] *= -1.f; + mQ[VZ] *= -1.f; + return (*this); +} + + +inline LLQuaternion operator+(const LLQuaternion &a, const LLQuaternion &b) +{ + return LLQuaternion( + a.mQ[VX] + b.mQ[VX], + a.mQ[VY] + b.mQ[VY], + a.mQ[VZ] + b.mQ[VZ], + a.mQ[VW] + b.mQ[VW] ); +} + + +inline LLQuaternion operator-(const LLQuaternion &a, const LLQuaternion &b) +{ + return LLQuaternion( + a.mQ[VX] - b.mQ[VX], + a.mQ[VY] - b.mQ[VY], + a.mQ[VZ] - b.mQ[VZ], + a.mQ[VW] - b.mQ[VW] ); +} + + +inline LLQuaternion operator-(const LLQuaternion &a) +{ + return LLQuaternion( + -a.mQ[VX], + -a.mQ[VY], + -a.mQ[VZ], + -a.mQ[VW] ); +} + + +inline LLQuaternion operator*(F32 a, const LLQuaternion &q) +{ + return LLQuaternion( + a * q.mQ[VX], + a * q.mQ[VY], + a * q.mQ[VZ], + a * q.mQ[VW] ); +} + + +inline LLQuaternion operator*(const LLQuaternion &q, F32 a) +{ + return LLQuaternion( + a * q.mQ[VX], + a * q.mQ[VY], + a * q.mQ[VZ], + a * q.mQ[VW] ); +} + +inline LLQuaternion operator~(const LLQuaternion &a) +{ + LLQuaternion q(a); + q.conjQuat(); + return q; +} + +inline bool LLQuaternion::operator==(const LLQuaternion &b) const +{ + return ( (mQ[VX] == b.mQ[VX]) + &&(mQ[VY] == b.mQ[VY]) + &&(mQ[VZ] == b.mQ[VZ]) + &&(mQ[VS] == b.mQ[VS])); +} + +inline bool LLQuaternion::operator!=(const LLQuaternion &b) const +{ + return ( (mQ[VX] != b.mQ[VX]) + ||(mQ[VY] != b.mQ[VY]) + ||(mQ[VZ] != b.mQ[VZ]) + ||(mQ[VS] != b.mQ[VS])); +} + +inline const LLQuaternion& operator*=(LLQuaternion &a, const LLQuaternion &b) +{ +#if 1 + LLQuaternion q( + b.mQ[3] * a.mQ[0] + b.mQ[0] * a.mQ[3] + b.mQ[1] * a.mQ[2] - b.mQ[2] * a.mQ[1], + b.mQ[3] * a.mQ[1] + b.mQ[1] * a.mQ[3] + b.mQ[2] * a.mQ[0] - b.mQ[0] * a.mQ[2], + b.mQ[3] * a.mQ[2] + b.mQ[2] * a.mQ[3] + b.mQ[0] * a.mQ[1] - b.mQ[1] * a.mQ[0], + b.mQ[3] * a.mQ[3] - b.mQ[0] * a.mQ[0] - b.mQ[1] * a.mQ[1] - b.mQ[2] * a.mQ[2] + ); + a = q; +#else + a = a * b; +#endif + return a; +} + +const F32 ONE_PART_IN_A_MILLION = 0.000001f; + +inline F32 LLQuaternion::normalize() +{ + F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); + + if (mag > FP_MAG_THRESHOLD) + { + // Floating point error can prevent some quaternions from achieving + // exact unity length. When trying to renormalize such quaternions we + // can oscillate between multiple quantized states. To prevent such + // drifts we only renomalize if the length is far enough from unity. + if (fabs(1.f - mag) > ONE_PART_IN_A_MILLION) + { + F32 oomag = 1.f/mag; + mQ[VX] *= oomag; + mQ[VY] *= oomag; + mQ[VZ] *= oomag; + mQ[VS] *= oomag; + } + } + else + { + // we were given a very bad quaternion so we set it to identity + mQ[VX] = 0.f; + mQ[VY] = 0.f; + mQ[VZ] = 0.f; + mQ[VS] = 1.f; + } + + return mag; +} + +// deprecated +inline F32 LLQuaternion::normQuat() +{ + F32 mag = sqrtf(mQ[VX]*mQ[VX] + mQ[VY]*mQ[VY] + mQ[VZ]*mQ[VZ] + mQ[VS]*mQ[VS]); + + if (mag > FP_MAG_THRESHOLD) + { + if (fabs(1.f - mag) > ONE_PART_IN_A_MILLION) + { + // only renormalize if length not close enough to 1.0 already + F32 oomag = 1.f/mag; + mQ[VX] *= oomag; + mQ[VY] *= oomag; + mQ[VZ] *= oomag; + mQ[VS] *= oomag; + } + } + else + { + mQ[VX] = 0.f; + mQ[VY] = 0.f; + mQ[VZ] = 0.f; + mQ[VS] = 1.f; + } + + return mag; +} + +LLQuaternion::Order StringToOrder( const char *str ); + +// Some notes about Quaternions + +// What is a Quaternion? +// --------------------- +// A quaternion is a point in 4-dimensional complex space. +// Q = { Qx, Qy, Qz, Qw } +// +// +// Why Quaternions? +// ---------------- +// The set of quaternions that make up the the 4-D unit sphere +// can be mapped to the set of all rotations in 3-D space. Sometimes +// it is easier to describe/manipulate rotations in quaternion space +// than rotation-matrix space. +// +// +// How Quaternions? +// ---------------- +// In order to take advantage of quaternions we need to know how to +// go from rotation-matricies to quaternions and back. We also have +// to agree what variety of rotations we're generating. +// +// Consider the equation... v' = v * R +// +// There are two ways to think about rotations of vectors. +// 1) v' is the same vector in a different reference frame +// 2) v' is a new vector in the same reference frame +// +// bookmark -- which way are we using? +// +// +// Quaternion from Angle-Axis: +// --------------------------- +// Suppose we wanted to represent a rotation of some angle (theta) +// about some axis ({Ax, Ay, Az})... +// +// axis of rotation = {Ax, Ay, Az} +// angle_of_rotation = theta +// +// s = sin(0.5 * theta) +// c = cos(0.5 * theta) +// Q = { s * Ax, s * Ay, s * Az, c } +// +// +// 3x3 Matrix from Quaternion +// -------------------------- +// +// | | +// | 1 - 2 * (y^2 + z^2) 2 * (x * y + z * w) 2 * (y * w - x * z) | +// | | +// M = | 2 * (x * y - z * w) 1 - 2 * (x^2 + z^2) 2 * (y * z + x * w) | +// | | +// | 2 * (x * z + y * w) 2 * (y * z - x * w) 1 - 2 * (x^2 + y^2) | +// | | + +#endif -- cgit v1.3 From 71de5f622a7917f78823a7e7840194e1b0f8f070 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Thu, 26 Aug 2010 14:23:12 -0500 Subject: Add missing files from viewer-experimental --- indra/cmake/GLOD.cmake | 9 + indra/cmake/LLConvexDecomposition.cmake | 16 + indra/llmath/llmatrix3a.cpp | 140 + indra/llmath/llmatrix3a.h | 134 + indra/llmath/llmatrix3a.inl | 125 + indra/llmath/llmatrix4a.h | 149 + indra/llmath/llquaternion2.h | 111 + indra/llmath/llquaternion2.inl | 108 + indra/llmath/llsimdmath.h | 95 + indra/llmath/llsimdtypes.h | 130 + indra/llmath/llsimdtypes.inl | 163 + indra/llmath/llvector4a.cpp | 228 ++ indra/llmath/llvector4a.h | 331 ++ indra/llmath/llvector4a.inl | 599 ++++ indra/llmath/llvector4logical.h | 130 + indra/llmath/llvolumeoctree.cpp | 208 ++ indra/llmath/llvolumeoctree.h | 138 + indra/llprimitive/llmodel.cpp | 1695 ++++++++++ indra/llprimitive/llmodel.h | 179 ++ .../shaders/class1/avatar/objectSkinV.glsl | 30 + .../shaders/class1/deferred/alphaSkinnedV.glsl | 75 + .../shaders/class1/deferred/attachmentShadowF.glsl | 16 + .../shaders/class1/deferred/attachmentShadowV.glsl | 25 + .../shaders/class1/deferred/bumpSkinnedV.glsl | 37 + .../shaders/class1/deferred/diffuseSkinnedV.glsl | 33 + .../lighting/lightFullbrightShinyWaterF.glsl | 15 + .../class1/objects/fullbrightShinySkinnedV.glsl | 39 + .../class1/objects/fullbrightShinyWaterF.glsl | 13 + .../shaders/class1/objects/fullbrightSkinnedV.glsl | 37 + .../class1/objects/shinySimpleSkinnedV.glsl | 39 + .../shaders/class1/objects/simpleSkinnedV.glsl | 39 + .../shaders/class2/deferred/alphaSkinnedV.glsl | 84 + .../lighting/lightFullbrightShinyWaterF.glsl | 29 + indra/newview/llfloaterimportcollada.cpp | 1116 +++++++ indra/newview/llfloaterimportcollada.h | 143 + indra/newview/llfloatermodelpreview.cpp | 3382 ++++++++++++++++++++ indra/newview/llfloatermodelpreview.h | 275 ++ indra/newview/llmeshreduction.cpp | 291 ++ indra/newview/llmeshreduction.h | 59 + indra/newview/llmeshrepository.cpp | 2676 ++++++++++++++++ indra/newview/llmeshrepository.h | 471 +++ 41 files changed, 13612 insertions(+) create mode 100644 indra/cmake/GLOD.cmake create mode 100644 indra/cmake/LLConvexDecomposition.cmake create mode 100644 indra/llmath/llmatrix3a.cpp create mode 100644 indra/llmath/llmatrix3a.h create mode 100644 indra/llmath/llmatrix3a.inl create mode 100644 indra/llmath/llmatrix4a.h create mode 100644 indra/llmath/llquaternion2.h create mode 100644 indra/llmath/llquaternion2.inl create mode 100644 indra/llmath/llsimdmath.h create mode 100644 indra/llmath/llsimdtypes.h create mode 100644 indra/llmath/llsimdtypes.inl create mode 100644 indra/llmath/llvector4a.cpp create mode 100644 indra/llmath/llvector4a.h create mode 100644 indra/llmath/llvector4a.inl create mode 100644 indra/llmath/llvector4logical.h create mode 100644 indra/llmath/llvolumeoctree.cpp create mode 100644 indra/llmath/llvolumeoctree.h create mode 100644 indra/llprimitive/llmodel.cpp create mode 100644 indra/llprimitive/llmodel.h create mode 100644 indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl create mode 100644 indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl create mode 100644 indra/newview/app_settings/shaders/class1/deferred/attachmentShadowF.glsl create mode 100644 indra/newview/app_settings/shaders/class1/deferred/attachmentShadowV.glsl create mode 100644 indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl create mode 100644 indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl create mode 100644 indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl create mode 100644 indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl create mode 100644 indra/newview/app_settings/shaders/class1/objects/fullbrightShinyWaterF.glsl create mode 100644 indra/newview/app_settings/shaders/class1/objects/fullbrightSkinnedV.glsl create mode 100644 indra/newview/app_settings/shaders/class1/objects/shinySimpleSkinnedV.glsl create mode 100644 indra/newview/app_settings/shaders/class1/objects/simpleSkinnedV.glsl create mode 100644 indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl create mode 100644 indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyWaterF.glsl create mode 100644 indra/newview/llfloaterimportcollada.cpp create mode 100644 indra/newview/llfloaterimportcollada.h create mode 100644 indra/newview/llfloatermodelpreview.cpp create mode 100644 indra/newview/llfloatermodelpreview.h create mode 100644 indra/newview/llmeshreduction.cpp create mode 100644 indra/newview/llmeshreduction.h create mode 100644 indra/newview/llmeshrepository.cpp create mode 100644 indra/newview/llmeshrepository.h (limited to 'indra/cmake') diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake new file mode 100644 index 0000000000..77221d55ed --- /dev/null +++ b/indra/cmake/GLOD.cmake @@ -0,0 +1,9 @@ +# -*- cmake -*- +include(Prebuilt) + +if (NOT STANDALONE) + use_prebuilt_binary(GLOD) +endif (NOT STANDALONE) + +set(GLOD_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include) +set(GLOD_LIBRARIES glod) diff --git a/indra/cmake/LLConvexDecomposition.cmake b/indra/cmake/LLConvexDecomposition.cmake new file mode 100644 index 0000000000..ae9dc3c17a --- /dev/null +++ b/indra/cmake/LLConvexDecomposition.cmake @@ -0,0 +1,16 @@ +# -*- cmake -*- +include(Prebuilt) + +set(LLCONVEXDECOMP_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) + +if (INSTALL_PROPRIETARY AND NOT STANDALONE) + use_prebuilt_binary(llconvexdecomposition) + if (WINDOWS) + set(LLCONVEXDECOMP_LIBRARY llconvexdecomposition) + else (WINDOWS) + set(LLCONVEXDECOMP_LIBRARY llconvexdecompositionstub) + endif (WINDOWS) +else (INSTALL_PROPRIETARY AND NOT STANDALONE) + use_prebuilt_binary(llconvexdecompositionstub) + set(LLCONVEXDECOMP_LIBRARY llconvexdecompositionstub) +endif (INSTALL_PROPRIETARY AND NOT STANDALONE) diff --git a/indra/llmath/llmatrix3a.cpp b/indra/llmath/llmatrix3a.cpp new file mode 100644 index 0000000000..b7468f4914 --- /dev/null +++ b/indra/llmath/llmatrix3a.cpp @@ -0,0 +1,140 @@ +/** + * @file llvector4a.cpp + * @brief SIMD vector implementation + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2007-2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llmath.h" + +static LL_ALIGN_16(const F32 M_IDENT_3A[12]) = + { 1.f, 0.f, 0.f, 0.f, // Column 1 + 0.f, 1.f, 0.f, 0.f, // Column 2 + 0.f, 0.f, 1.f, 0.f }; // Column 3 + +extern const LLMatrix3a LL_M3A_IDENTITY = *reinterpret_cast (M_IDENT_3A); + +void LLMatrix3a::setMul( const LLMatrix3a& lhs, const LLMatrix3a& rhs ) +{ + const LLVector4a col0 = lhs.getColumn(0); + const LLVector4a col1 = lhs.getColumn(1); + const LLVector4a col2 = lhs.getColumn(2); + + for ( int i = 0; i < 3; i++ ) + { + LLVector4a xxxx = _mm_load_ss( rhs.mColumns[i].getF32ptr() ); + xxxx.splat<0>( xxxx ); + xxxx.mul( col0 ); + + { + LLVector4a yyyy = _mm_load_ss( rhs.mColumns[i].getF32ptr() + 1 ); + yyyy.splat<0>( yyyy ); + yyyy.mul( col1 ); + xxxx.add( yyyy ); + } + + { + LLVector4a zzzz = _mm_load_ss( rhs.mColumns[i].getF32ptr() + 2 ); + zzzz.splat<0>( zzzz ); + zzzz.mul( col2 ); + xxxx.add( zzzz ); + } + + xxxx.store4a( mColumns[i].getF32ptr() ); + } + +} + +/*static */void LLMatrix3a::batchTransform( const LLMatrix3a& xform, const LLVector4a* src, int numVectors, LLVector4a* dst ) +{ + const LLVector4a col0 = xform.getColumn(0); + const LLVector4a col1 = xform.getColumn(1); + const LLVector4a col2 = xform.getColumn(2); + const LLVector4a* maxAddr = src + numVectors; + + if ( numVectors & 0x1 ) + { + LLVector4a xxxx = _mm_load_ss( (const F32*)src ); + LLVector4a yyyy = _mm_load_ss( (const F32*)src + 1 ); + LLVector4a zzzz = _mm_load_ss( (const F32*)src + 2 ); + xxxx.splat<0>( xxxx ); + yyyy.splat<0>( yyyy ); + zzzz.splat<0>( zzzz ); + xxxx.mul( col0 ); + yyyy.mul( col1 ); + zzzz.mul( col2 ); + xxxx.add( yyyy ); + xxxx.add( zzzz ); + xxxx.store4a( (F32*)dst ); + src++; + dst++; + } + + + numVectors >>= 1; + while ( src < maxAddr ) + { + _mm_prefetch( (const char*)(src + 32 ), _MM_HINT_NTA ); + _mm_prefetch( (const char*)(dst + 32), _MM_HINT_NTA ); + LLVector4a xxxx = _mm_load_ss( (const F32*)src ); + LLVector4a xxxx1= _mm_load_ss( (const F32*)(src + 1) ); + + xxxx.splat<0>( xxxx ); + xxxx1.splat<0>( xxxx1 ); + xxxx.mul( col0 ); + xxxx1.mul( col0 ); + + { + LLVector4a yyyy = _mm_load_ss( (const F32*)src + 1 ); + LLVector4a yyyy1 = _mm_load_ss( (const F32*)(src + 1) + 1); + yyyy.splat<0>( yyyy ); + yyyy1.splat<0>( yyyy1 ); + yyyy.mul( col1 ); + yyyy1.mul( col1 ); + xxxx.add( yyyy ); + xxxx1.add( yyyy1 ); + } + + { + LLVector4a zzzz = _mm_load_ss( (const F32*)(src) + 2 ); + LLVector4a zzzz1 = _mm_load_ss( (const F32*)(++src) + 2 ); + zzzz.splat<0>( zzzz ); + zzzz1.splat<0>( zzzz1 ); + zzzz.mul( col2 ); + zzzz1.mul( col2 ); + xxxx.add( zzzz ); + xxxx1.add( zzzz1 ); + } + + xxxx.store4a(dst->getF32ptr()); + src++; + dst++; + + xxxx1.store4a((F32*)dst++); + } +} diff --git a/indra/llmath/llmatrix3a.h b/indra/llmath/llmatrix3a.h new file mode 100644 index 0000000000..56327f9f6d --- /dev/null +++ b/indra/llmath/llmatrix3a.h @@ -0,0 +1,134 @@ +/** + * @file llmatrix3a.h + * @brief LLMatrix3a class header file - memory aligned and vectorized 3x3 matrix + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLMATRIX3A_H +#define LL_LLMATRIX3A_H + +///////////////////////////// +// LLMatrix3a, LLRotation +///////////////////////////// +// This class stores a 3x3 (technically 4x3) matrix in column-major order +///////////////////////////// +///////////////////////////// +// These classes are intentionally minimal right now. If you need additional +// functionality, please contact someone with SSE experience (e.g., Falcon or +// Huseby). +///////////////////////////// + +// LLMatrix3a is the base class for LLRotation, which should be used instead any time you're dealing with a +// rotation matrix. +class LLMatrix3a +{ +public: + + // Utility function for quickly transforming an array of LLVector4a's + // For transforming a single LLVector4a, see LLVector4a::setRotated + static void batchTransform( const LLMatrix3a& xform, const LLVector4a* src, int numVectors, LLVector4a* dst ); + + // Utility function to obtain the identity matrix + static inline const LLMatrix3a& getIdentity(); + + ////////////////////////// + // Ctors + ////////////////////////// + + // Ctor + LLMatrix3a() {} + + // Ctor for setting by columns + inline LLMatrix3a( const LLVector4a& c0, const LLVector4a& c1, const LLVector4a& c2 ); + + ////////////////////////// + // Get/Set + ////////////////////////// + + // Loads from an LLMatrix3 + inline void loadu(const LLMatrix3& src); + + // Set rows + inline void setRows(const LLVector4a& r0, const LLVector4a& r1, const LLVector4a& r2); + + // Set columns + inline void setColumns(const LLVector4a& c0, const LLVector4a& c1, const LLVector4a& c2); + + // Get the read-only access to a specified column. Valid columns are 0-2, but the + // function is unchecked. You've been warned. + inline const LLVector4a& getColumn(const U32 column) const; + + ///////////////////////// + // Matrix modification + ///////////////////////// + + // Set this matrix to the product of lhs and rhs ( this = lhs * rhs ) + void setMul( const LLMatrix3a& lhs, const LLMatrix3a& rhs ); + + // Set this matrix to the transpose of src + inline void setTranspose(const LLMatrix3a& src); + + // Set this matrix to a*w + b*(1-w) + inline void setLerp(const LLMatrix3a& a, const LLMatrix3a& b, F32 w); + + ///////////////////////// + // Matrix inspection + ///////////////////////// + + // Sets all 4 elements in 'dest' to the determinant of this matrix. + // If you will be using the determinant in subsequent ops with LLVector4a, use this version + inline void getDeterminant( LLVector4a& dest ) const; + + // Returns the determinant as an LLSimdScalar. Use this if you will be using the determinant + // primary for scalar operations. + inline LLSimdScalar getDeterminant() const; + + // Returns nonzero if rows 0-2 and colums 0-2 contain no NaN or INF values. Row 3 is ignored + inline LLBool32 isFinite() const; + + // Returns true if this matrix is equal to 'rhs' up to 'tolerance' + inline bool isApproximatelyEqual( const LLMatrix3a& rhs, F32 tolerance = F_APPROXIMATELY_ZERO ) const; + +protected: + + LLVector4a mColumns[3]; + +}; + +class LLRotation : public LLMatrix3a +{ +public: + + LLRotation() {} + + // Returns true if this rotation is orthonormal with det ~= 1 + inline bool isOkRotation() const; +}; + +#endif diff --git a/indra/llmath/llmatrix3a.inl b/indra/llmath/llmatrix3a.inl new file mode 100644 index 0000000000..65fd949f78 --- /dev/null +++ b/indra/llmath/llmatrix3a.inl @@ -0,0 +1,125 @@ +/** + * @file llmatrix3a.inl + * @brief LLMatrix3a inline definitions + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llmatrix3a.h" +#include "m3math.h" + +inline LLMatrix3a::LLMatrix3a( const LLVector4a& c0, const LLVector4a& c1, const LLVector4a& c2 ) +{ + setColumns( c0, c1, c2 ); +} + +inline void LLMatrix3a::loadu(const LLMatrix3& src) +{ + mColumns[0].load3(src.mMatrix[0]); + mColumns[1].load3(src.mMatrix[1]); + mColumns[2].load3(src.mMatrix[2]); +} + +inline void LLMatrix3a::setRows(const LLVector4a& r0, const LLVector4a& r1, const LLVector4a& r2) +{ + mColumns[0] = r0; + mColumns[1] = r1; + mColumns[2] = r2; + setTranspose( *this ); +} + +inline void LLMatrix3a::setColumns(const LLVector4a& c0, const LLVector4a& c1, const LLVector4a& c2) +{ + mColumns[0] = c0; + mColumns[1] = c1; + mColumns[2] = c2; +} + +inline void LLMatrix3a::setTranspose(const LLMatrix3a& src) +{ + const LLQuad srcCol0 = src.mColumns[0]; + const LLQuad srcCol1 = src.mColumns[1]; + const LLQuad unpacklo = _mm_unpacklo_ps( srcCol0, srcCol1 ); + mColumns[0] = _mm_movelh_ps( unpacklo, src.mColumns[2] ); + mColumns[1] = _mm_shuffle_ps( _mm_movehl_ps( srcCol0, unpacklo ), src.mColumns[2], _MM_SHUFFLE(0, 1, 1, 0) ); + mColumns[2] = _mm_shuffle_ps( _mm_unpackhi_ps( srcCol0, srcCol1 ), src.mColumns[2], _MM_SHUFFLE(0, 2, 1, 0) ); +} + +inline const LLVector4a& LLMatrix3a::getColumn(const U32 column) const +{ + llassert( column < 3 ); + return mColumns[column]; +} + +inline void LLMatrix3a::setLerp(const LLMatrix3a& a, const LLMatrix3a& b, F32 w) +{ + mColumns[0].setLerp( a.mColumns[0], b.mColumns[0], w ); + mColumns[1].setLerp( a.mColumns[1], b.mColumns[1], w ); + mColumns[2].setLerp( a.mColumns[2], b.mColumns[2], w ); +} + +inline LLBool32 LLMatrix3a::isFinite() const +{ + return mColumns[0].isFinite3() && mColumns[1].isFinite3() && mColumns[2].isFinite3(); +} + +inline void LLMatrix3a::getDeterminant( LLVector4a& dest ) const +{ + LLVector4a col1xcol2; col1xcol2.setCross3( mColumns[1], mColumns[2] ); + dest.setAllDot3( col1xcol2, mColumns[0] ); +} + +inline LLSimdScalar LLMatrix3a::getDeterminant() const +{ + LLVector4a col1xcol2; col1xcol2.setCross3( mColumns[1], mColumns[2] ); + return col1xcol2.dot3( mColumns[0] ); +} + +inline bool LLMatrix3a::isApproximatelyEqual( const LLMatrix3a& rhs, F32 tolerance /*= F_APPROXIMATELY_ZERO*/ ) const +{ + return rhs.getColumn(0).equals3(mColumns[0], tolerance) + && rhs.getColumn(1).equals3(mColumns[1], tolerance) + && rhs.getColumn(2).equals3(mColumns[2], tolerance); +} + +inline const LLMatrix3a& LLMatrix3a::getIdentity() +{ + extern const LLMatrix3a LL_M3A_IDENTITY; + return LL_M3A_IDENTITY; +} + +inline bool LLRotation::isOkRotation() const +{ + LLMatrix3a transpose; transpose.setTranspose( *this ); + LLMatrix3a product; product.setMul( *this, transpose ); + + LLSimdScalar detMinusOne = getDeterminant() - 1.f; + + return product.isApproximatelyEqual( LLMatrix3a::getIdentity() ) && (detMinusOne.getAbs() < F_APPROXIMATELY_ZERO); +} + diff --git a/indra/llmath/llmatrix4a.h b/indra/llmath/llmatrix4a.h new file mode 100644 index 0000000000..0ead045d04 --- /dev/null +++ b/indra/llmath/llmatrix4a.h @@ -0,0 +1,149 @@ +/** + * @file llmatrix4a.h + * @brief LLMatrix4a class header file - memory aligned and vectorized 4x4 matrix + * + * $LicenseInfo:firstyear=2007&license=viewergpl$ + * + * Copyright (c) 2007-2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLMATRIX4A_H +#define LL_LLMATRIX4A_H + +#include "llvector4a.h" +#include "m4math.h" +#include "m3math.h" + +class LLMatrix4a +{ +public: + LLVector4a mMatrix[4]; + + inline void clear() + { + mMatrix[0].clear(); + mMatrix[1].clear(); + mMatrix[2].clear(); + mMatrix[3].clear(); + } + + inline void loadu(const LLMatrix4& src) + { + mMatrix[0] = _mm_loadu_ps(src.mMatrix[0]); + mMatrix[1] = _mm_loadu_ps(src.mMatrix[1]); + mMatrix[2] = _mm_loadu_ps(src.mMatrix[2]); + mMatrix[3] = _mm_loadu_ps(src.mMatrix[3]); + + } + + inline void loadu(const LLMatrix3& src) + { + mMatrix[0].load3(src.mMatrix[0]); + mMatrix[1].load3(src.mMatrix[1]); + mMatrix[2].load3(src.mMatrix[2]); + mMatrix[3].set(0,0,0,1.f); + } + + inline void add(const LLMatrix4a& rhs) + { + mMatrix[0].add(rhs.mMatrix[0]); + mMatrix[1].add(rhs.mMatrix[1]); + mMatrix[2].add(rhs.mMatrix[2]); + mMatrix[3].add(rhs.mMatrix[3]); + } + + inline void setRows(const LLVector4a& r0, const LLVector4a& r1, const LLVector4a& r2) + { + mMatrix[0] = r0; + mMatrix[1] = r1; + mMatrix[2] = r2; + } + + inline void setMul(const LLMatrix4a& m, const F32 s) + { + mMatrix[0].setMul(m.mMatrix[0], s); + mMatrix[1].setMul(m.mMatrix[1], s); + mMatrix[2].setMul(m.mMatrix[2], s); + mMatrix[3].setMul(m.mMatrix[3], s); + } + + inline void setLerp(const LLMatrix4a& a, const LLMatrix4a& b, F32 w) + { + LLVector4a d0,d1,d2,d3; + d0.setSub(b.mMatrix[0], a.mMatrix[0]); + d1.setSub(b.mMatrix[1], a.mMatrix[1]); + d2.setSub(b.mMatrix[2], a.mMatrix[2]); + d3.setSub(b.mMatrix[3], a.mMatrix[3]); + + // this = a + d*w + + d0.mul(w); + d1.mul(w); + d2.mul(w); + d3.mul(w); + + mMatrix[0].setAdd(a.mMatrix[0],d0); + mMatrix[1].setAdd(a.mMatrix[1],d1); + mMatrix[2].setAdd(a.mMatrix[2],d2); + mMatrix[3].setAdd(a.mMatrix[3],d3); + } + + inline void rotate(const LLVector4a& v, LLVector4a& res) + { + res = _mm_shuffle_ps(v, v, _MM_SHUFFLE(0, 0, 0, 0)); + res.mul(mMatrix[0]); + + LLVector4a y; + y = _mm_shuffle_ps(v, v, _MM_SHUFFLE(1, 1, 1, 1)); + y.mul(mMatrix[1]); + + LLVector4a z; + z = _mm_shuffle_ps(v, v, _MM_SHUFFLE(2, 2, 2, 2)); + z.mul(mMatrix[2]); + + res.add(y); + res.add(z); + } + + inline void affineTransform(const LLVector4a& v, LLVector4a& res) + { + LLVector4a x,y,z; + + x = _mm_shuffle_ps(v, v, _MM_SHUFFLE(0, 0, 0, 0)); + y = _mm_shuffle_ps(v, v, _MM_SHUFFLE(1, 1, 1, 1)); + z = _mm_shuffle_ps(v, v, _MM_SHUFFLE(2, 2, 2, 2)); + + x.mul(mMatrix[0]); + y.mul(mMatrix[1]); + z.mul(mMatrix[2]); + + x.add(y); + z.add(mMatrix[3]); + res.setAdd(x,z); + } +}; + +#endif diff --git a/indra/llmath/llquaternion2.h b/indra/llmath/llquaternion2.h new file mode 100644 index 0000000000..dbb4afe312 --- /dev/null +++ b/indra/llmath/llquaternion2.h @@ -0,0 +1,111 @@ +/** + * @file llquaternion2.h + * @brief LLQuaternion2 class header file - SIMD-enabled quaternion class + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_QUATERNION2_H +#define LL_QUATERNION2_H + +///////////////////////////// +// LLQuaternion2 +///////////////////////////// +// This class stores a quaternion x*i + y*j + z*k + w in order +// (i.e., w in high order element of vector) +///////////////////////////// +///////////////////////////// +// These classes are intentionally minimal right now. If you need additional +// functionality, please contact someone with SSE experience (e.g., Falcon or +// Huseby). +///////////////////////////// +#include "llquaternion.h" + +class LLQuaternion2 +{ +public: + + ////////////////////////// + // Ctors + ////////////////////////// + + // Ctor + LLQuaternion2() {} + + // Ctor from LLQuaternion + explicit LLQuaternion2( const class LLQuaternion& quat ); + + ////////////////////////// + // Get/Set + ////////////////////////// + + // Load from an LLQuaternion + inline void operator=( const LLQuaternion& quat ) + { + mQ.loadua( quat.mQ ); + } + + // Return the internal LLVector4a representation of the quaternion + inline const LLVector4a& getVector4a() const; + inline LLVector4a& getVector4aRw(); + + ///////////////////////// + // Quaternion modification + ///////////////////////// + + // Set this quaternion to the conjugate of src + inline void setConjugate(const LLQuaternion2& src); + + // Renormalizes the quaternion. Assumes it has nonzero length. + inline void normalize(); + + // Quantize this quaternion to 8 bit precision + inline void quantize8(); + + // Quantize this quaternion to 16 bit precision + inline void quantize16(); + + ///////////////////////// + // Quaternion inspection + ///////////////////////// + + // Return true if this quaternion is equal to 'rhs'. + // Note! Quaternions exhibit "double-cover", so any rotation has two equally valid + // quaternion representations and they will NOT compare equal. + inline bool equals(const LLQuaternion2& rhs, F32 tolerance = F_APPROXIMATELY_ZERO ) const; + + // Return true if all components are finite and the quaternion is normalized + inline bool isOkRotation() const; + +protected: + + LLVector4a mQ; + +}; + +#endif diff --git a/indra/llmath/llquaternion2.inl b/indra/llmath/llquaternion2.inl new file mode 100644 index 0000000000..9a4274d6a4 --- /dev/null +++ b/indra/llmath/llquaternion2.inl @@ -0,0 +1,108 @@ +/** + * @file llquaternion2.inl + * @brief LLQuaternion2 inline definitions + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llquaternion2.h" + +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}; + +// Ctor from LLQuaternion +inline LLQuaternion2::LLQuaternion2( const LLQuaternion& quat ) +{ + mQ.set(quat.mQ[VX], quat.mQ[VY], quat.mQ[VZ], quat.mQ[VW]); +} + +////////////////////////// +// Get/Set +////////////////////////// + +// Return the internal LLVector4a representation of the quaternion +inline const LLVector4a& LLQuaternion2::getVector4a() const +{ + return mQ; +} + +inline LLVector4a& LLQuaternion2::getVector4aRw() +{ + return mQ; +} + +///////////////////////// +// Quaternion modification +///////////////////////// + +// Set this quaternion to the conjugate of src +inline void LLQuaternion2::setConjugate(const LLQuaternion2& src) +{ + static LL_ALIGN_16( const U32 F_QUAT_INV_MASK_4A[4] ) = { 0x80000000, 0x80000000, 0x80000000, 0x00000000 }; + mQ = _mm_xor_ps(src.mQ, *reinterpret_cast(&F_QUAT_INV_MASK_4A)); +} + +// Renormalizes the quaternion. Assumes it has nonzero length. +inline void LLQuaternion2::normalize() +{ + mQ.normalize4(); +} + +// Quantize this quaternion to 8 bit precision +inline void LLQuaternion2::quantize8() +{ + mQ.quantize8( LL_V4A_MINUS_ONE, LL_V4A_PLUS_ONE ); + normalize(); +} + +// Quantize this quaternion to 16 bit precision +inline void LLQuaternion2::quantize16() +{ + mQ.quantize16( LL_V4A_MINUS_ONE, LL_V4A_PLUS_ONE ); + normalize(); +} + + +///////////////////////// +// Quaternion inspection +///////////////////////// + +// Return true if this quaternion is equal to 'rhs'. +// Note! Quaternions exhibit "double-cover", so any rotation has two equally valid +// quaternion representations and they will NOT compare equal. +inline bool LLQuaternion2::equals(const LLQuaternion2 &rhs, F32 tolerance/* = F_APPROXIMATELY_ZERO*/) const +{ + return mQ.equals4(rhs.mQ, tolerance); +} + +// Return true if all components are finite and the quaternion is normalized +inline bool LLQuaternion2::isOkRotation() const +{ + return mQ.isFinite4() && mQ.isNormalized4(); +} + diff --git a/indra/llmath/llsimdmath.h b/indra/llmath/llsimdmath.h new file mode 100644 index 0000000000..9377bfdb53 --- /dev/null +++ b/indra/llmath/llsimdmath.h @@ -0,0 +1,95 @@ +/** + * @file llsimdmath.h + * @brief Common header for SIMD-based math library (llvector4a, llmatrix3a, etc.) + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2007-2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_SIMD_MATH_H +#define LL_SIMD_MATH_H + +#ifndef LLMATH_H +#error "Please include llmath.h before this file." +#endif + +#if ( ( LL_DARWIN || LL_LINUX ) && !(__SSE2__) ) || ( LL_WINDOWS && ( _M_IX86_FP < 2 ) ) +#error SSE2 not enabled. LLVector4a and related class will not compile. +#endif + +template T* LL_NEXT_ALIGNED_ADDRESS(T* address) +{ + return reinterpret_cast( + (reinterpret_cast(address) + 0xF) & ~0xF); +} + +template T* LL_NEXT_ALIGNED_ADDRESS_64(T* address) +{ + return reinterpret_cast( + (reinterpret_cast(address) + 0x3F) & ~0x3F); +} + +#if LL_LINUX || LL_DARWIN + +#define LL_ALIGN_PREFIX(x) +#define LL_ALIGN_POSTFIX(x) __attribute__((aligned(x))) + +#elif LL_WINDOWS + +#define LL_ALIGN_PREFIX(x) __declspec(align(x)) +#define LL_ALIGN_POSTFIX(x) + +#else +#error "LL_ALIGN_PREFIX and LL_ALIGN_POSTFIX undefined" +#endif + +#define LL_ALIGN_16(var) LL_ALIGN_PREFIX(16) var LL_ALIGN_POSTFIX(16) + + + +#include +#include + +#include "llsimdtypes.h" +#include "llsimdtypes.inl" + +class LLMatrix3a; +class LLRotation; +class LLMatrix3; + +#include "llquaternion.h" + +#include "llvector4logical.h" +#include "llvector4a.h" +#include "llmatrix3a.h" +#include "llquaternion2.h" +#include "llvector4a.inl" +#include "llmatrix3a.inl" +#include "llquaternion2.inl" + + +#endif //LL_SIMD_MATH_H diff --git a/indra/llmath/llsimdtypes.h b/indra/llmath/llsimdtypes.h new file mode 100644 index 0000000000..82e318c8bf --- /dev/null +++ b/indra/llmath/llsimdtypes.h @@ -0,0 +1,130 @@ +/** + * @file llsimdtypes.h + * @brief Declaration of basic SIMD math related types + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2007-2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_SIMD_TYPES_H +#define LL_SIMD_TYPES_H + +#ifndef LL_SIMD_MATH_H +#error "Please include llmath.h before this file." +#endif + +typedef __m128 LLQuad; + + +#if LL_WINDOWS +#pragma warning(push) +#pragma warning( disable : 4800 3 ) // Disable warning about casting int to bool for this class. +#if defined(_MSC_VER) && (_MSC_VER < 1500) +// VC++ 2005 is missing these intrinsics +// __forceinline is MSVC specific and attempts to override compiler inlining judgment. This is so +// even in debug builds this call is a NOP. +__forceinline const __m128 _mm_castsi128_ps( const __m128i a ) { return reinterpret_cast(a); } +__forceinline const __m128i _mm_castps_si128( const __m128 a ) { return reinterpret_cast(a); } +#endif // _MSC_VER + +#endif // LL_WINDOWS + +class LLBool32 +{ +public: + inline LLBool32() {} + inline LLBool32(int rhs) : m_bool(rhs) {} + inline LLBool32(unsigned int rhs) : m_bool(rhs) {} + inline LLBool32(bool rhs) { m_bool = static_cast(rhs); } + inline LLBool32& operator= (bool rhs) { m_bool = (int)rhs; return *this; } + inline bool operator== (bool rhs) const { return static_cast(m_bool) == rhs; } + inline bool operator!= (bool rhs) const { return !operator==(rhs); } + inline operator bool() const { return static_cast(m_bool); } + +private: + int m_bool; +}; + +#if LL_WINDOWS +#pragma warning(pop) +#endif + +class LLSimdScalar +{ +public: + inline LLSimdScalar() {} + inline LLSimdScalar(LLQuad q) + { + mQ = q; + } + + inline LLSimdScalar(F32 f) + { + mQ = _mm_set_ss(f); + } + + static inline const LLSimdScalar& getZero() + { + extern const LLQuad F_ZERO_4A; + return reinterpret_cast(F_ZERO_4A); + } + + inline F32 getF32() const; + + inline LLBool32 isApproximatelyEqual(const LLSimdScalar& rhs, F32 tolerance = F_APPROXIMATELY_ZERO) const; + + inline LLSimdScalar getAbs() const; + + inline void setMax( const LLSimdScalar& a, const LLSimdScalar& b ); + + inline void setMin( const LLSimdScalar& a, const LLSimdScalar& b ); + + inline LLSimdScalar& operator=(F32 rhs); + + inline LLSimdScalar& operator+=(const LLSimdScalar& rhs); + + inline LLSimdScalar& operator-=(const LLSimdScalar& rhs); + + inline LLSimdScalar& operator*=(const LLSimdScalar& rhs); + + inline LLSimdScalar& operator/=(const LLSimdScalar& rhs); + + inline operator LLQuad() const + { + return mQ; + } + + inline const LLQuad& getQuad() const + { + return mQ; + } + +private: + LLQuad mQ; +}; + +#endif //LL_SIMD_TYPES_H diff --git a/indra/llmath/llsimdtypes.inl b/indra/llmath/llsimdtypes.inl new file mode 100644 index 0000000000..69c858e310 --- /dev/null +++ b/indra/llmath/llsimdtypes.inl @@ -0,0 +1,163 @@ +/** + * @file llsimdtypes.inl + * @brief Inlined definitions of basic SIMD math related types + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2007-2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + + + + +////////////////// +// LLSimdScalar +////////////////// + +inline LLSimdScalar operator+(const LLSimdScalar& a, const LLSimdScalar& b) +{ + LLSimdScalar t(a); + t += b; + return t; +} + +inline LLSimdScalar operator-(const LLSimdScalar& a, const LLSimdScalar& b) +{ + LLSimdScalar t(a); + t -= b; + return t; +} + +inline LLSimdScalar operator*(const LLSimdScalar& a, const LLSimdScalar& b) +{ + LLSimdScalar t(a); + t *= b; + return t; +} + +inline LLSimdScalar operator/(const LLSimdScalar& a, const LLSimdScalar& b) +{ + LLSimdScalar t(a); + t /= b; + return t; +} + +inline LLSimdScalar operator-(const LLSimdScalar& a) +{ + static LL_ALIGN_16(const U32 signMask[4]) = {0x80000000, 0x80000000, 0x80000000, 0x80000000 }; + return _mm_xor_ps(*reinterpret_cast(signMask), a); +} + +inline LLBool32 operator==(const LLSimdScalar& a, const LLSimdScalar& b) +{ + return _mm_comieq_ss(a, b); +} + +inline LLBool32 operator!=(const LLSimdScalar& a, const LLSimdScalar& b) +{ + return _mm_comineq_ss(a, b); +} + +inline LLBool32 operator<(const LLSimdScalar& a, const LLSimdScalar& b) +{ + return _mm_comilt_ss(a, b); +} + +inline LLBool32 operator<=(const LLSimdScalar& a, const LLSimdScalar& b) +{ + return _mm_comile_ss(a, b); +} + +inline LLBool32 operator>(const LLSimdScalar& a, const LLSimdScalar& b) +{ + return _mm_comigt_ss(a, b); +} + +inline LLBool32 operator>=(const LLSimdScalar& a, const LLSimdScalar& b) +{ + return _mm_comige_ss(a, b); +} + +inline LLBool32 LLSimdScalar::isApproximatelyEqual(const LLSimdScalar& rhs, F32 tolerance /* = F_APPROXIMATELY_ZERO */) const +{ + const LLSimdScalar tol( tolerance ); + const LLSimdScalar diff = _mm_sub_ss( mQ, rhs.mQ ); + const LLSimdScalar absDiff = diff.getAbs(); + return absDiff <= tol; +} + +inline void LLSimdScalar::setMax( const LLSimdScalar& a, const LLSimdScalar& b ) +{ + mQ = _mm_max_ss( a, b ); +} + +inline void LLSimdScalar::setMin( const LLSimdScalar& a, const LLSimdScalar& b ) +{ + mQ = _mm_min_ss( a, b ); +} + +inline LLSimdScalar& LLSimdScalar::operator=(F32 rhs) +{ + mQ = _mm_set_ss(rhs); + return *this; +} + +inline LLSimdScalar& LLSimdScalar::operator+=(const LLSimdScalar& rhs) +{ + mQ = _mm_add_ss( mQ, rhs ); + return *this; +} + +inline LLSimdScalar& LLSimdScalar::operator-=(const LLSimdScalar& rhs) +{ + mQ = _mm_sub_ss( mQ, rhs ); + return *this; +} + +inline LLSimdScalar& LLSimdScalar::operator*=(const LLSimdScalar& rhs) +{ + mQ = _mm_mul_ss( mQ, rhs ); + return *this; +} + +inline LLSimdScalar& LLSimdScalar::operator/=(const LLSimdScalar& rhs) +{ + mQ = _mm_div_ss( mQ, rhs ); + return *this; +} + +inline LLSimdScalar LLSimdScalar::getAbs() const +{ + static const LL_ALIGN_16(U32 F_ABS_MASK_4A[4]) = { 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF }; + return _mm_and_ps( mQ, *reinterpret_cast(F_ABS_MASK_4A)); +} + +inline F32 LLSimdScalar::getF32() const +{ + F32 ret; + _mm_store_ss(&ret, mQ); + return ret; +} diff --git a/indra/llmath/llvector4a.cpp b/indra/llmath/llvector4a.cpp new file mode 100644 index 0000000000..b62c17302f --- /dev/null +++ b/indra/llmath/llvector4a.cpp @@ -0,0 +1,228 @@ +/** + * @file llvector4a.cpp + * @brief SIMD vector implementation + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2007-2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llmath.h" +#include "llquantize.h" + +extern const LLQuad F_ZERO_4A = { 0, 0, 0, 0 }; +extern const LLQuad F_APPROXIMATELY_ZERO_4A = { + F_APPROXIMATELY_ZERO, + F_APPROXIMATELY_ZERO, + F_APPROXIMATELY_ZERO, + F_APPROXIMATELY_ZERO +}; + +extern const LLVector4a LL_V4A_ZERO = reinterpret_cast ( F_ZERO_4A ); +extern const LLVector4a LL_V4A_EPSILON = reinterpret_cast ( F_APPROXIMATELY_ZERO_4A ); + +/*static */void LLVector4a::memcpyNonAliased16(F32* __restrict dst, const F32* __restrict src, size_t bytes) +{ + assert(src != NULL); + assert(dst != NULL); + assert(bytes > 0); + assert((bytes % sizeof(F32))== 0); + + F32* end = dst + (bytes / sizeof(F32) ); + + if (bytes > 64) + { + F32* begin_64 = LL_NEXT_ALIGNED_ADDRESS_64(dst); + + //at least 64 (16*4) bytes before the end of the destination, switch to 16 byte copies + F32* end_64 = end-16; + + _mm_prefetch((char*)begin_64, _MM_HINT_NTA); + _mm_prefetch((char*)begin_64 + 64, _MM_HINT_NTA); + _mm_prefetch((char*)begin_64 + 128, _MM_HINT_NTA); + _mm_prefetch((char*)begin_64 + 192, _MM_HINT_NTA); + + while (dst < begin_64) + { + copy4a(dst, src); + dst += 4; + src += 4; + } + + while (dst < end_64) + { + _mm_prefetch((char*)src + 512, _MM_HINT_NTA); + _mm_prefetch((char*)dst + 512, _MM_HINT_NTA); + copy4a(dst, src); + copy4a(dst+4, src+4); + copy4a(dst+8, src+8); + copy4a(dst+12, src+12); + + dst += 16; + src += 16; + } + } + + while (dst < end) + { + copy4a(dst, src); + dst += 4; + src += 4; + } +} + +void LLVector4a::setRotated( const LLRotation& rot, const LLVector4a& vec ) +{ + const LLVector4a col0 = rot.getColumn(0); + const LLVector4a col1 = rot.getColumn(1); + const LLVector4a col2 = rot.getColumn(2); + + LLVector4a result = _mm_load_ss( vec.getF32ptr() ); + result.splat<0>( result ); + result.mul( col0 ); + + { + LLVector4a yyyy = _mm_load_ss( vec.getF32ptr() + 1 ); + yyyy.splat<0>( yyyy ); + yyyy.mul( col1 ); + result.add( yyyy ); + } + + { + LLVector4a zzzz = _mm_load_ss( vec.getF32ptr() + 2 ); + zzzz.splat<0>( zzzz ); + zzzz.mul( col2 ); + result.add( zzzz ); + } + + *this = result; +} + +void LLVector4a::setRotated( const LLQuaternion2& quat, const LLVector4a& vec ) +{ + const LLVector4a& quatVec = quat.getVector4a(); + LLVector4a temp; temp.setCross3(quatVec, vec); + temp.add( temp ); + + const LLVector4a realPart( quatVec.getScalarAt<3>() ); + LLVector4a tempTimesReal; tempTimesReal.setMul( temp, realPart ); + + mQ = vec; + add( tempTimesReal ); + + LLVector4a imagCrossTemp; imagCrossTemp.setCross3( quatVec, temp ); + add(imagCrossTemp); +} + +void LLVector4a::quantize8( const LLVector4a& low, const LLVector4a& high ) +{ + LLVector4a val(mQ); + LLVector4a delta; delta.setSub( high, low ); + + { + val.clamp(low, high); + val.sub(low); + + // 8-bit quantization means we can do with just 12 bits of reciprocal accuracy + const LLVector4a oneOverDelta = _mm_rcp_ps(delta.mQ); +// { +// static LL_ALIGN_16( const F32 F_TWO_4A[4] ) = { 2.f, 2.f, 2.f, 2.f }; +// LLVector4a two; two.load4a( F_TWO_4A ); +// +// // Here we use _mm_rcp_ps plus one round of newton-raphson +// // We wish to find 'x' such that x = 1/delta +// // As a first approximation, we take x0 = _mm_rcp_ps(delta) +// // Then x1 = 2 * x0 - a * x0^2 or x1 = x0 * ( 2 - a * x0 ) +// // See Intel AP-803 http://ompf.org/!/Intel_application_note_AP-803.pdf +// const LLVector4a recipApprox = _mm_rcp_ps(delta.mQ); +// oneOverDelta.setMul( delta, recipApprox ); +// oneOverDelta.setSub( two, oneOverDelta ); +// oneOverDelta.mul( recipApprox ); +// } + + val.mul(oneOverDelta); + val.mul(*reinterpret_cast(F_U8MAX_4A)); + } + + val = _mm_cvtepi32_ps(_mm_cvtps_epi32( val.mQ )); + + { + val.mul(*reinterpret_cast(F_OOU8MAX_4A)); + val.mul(delta); + val.add(low); + } + + { + LLVector4a maxError; maxError.setMul(delta, *reinterpret_cast(F_OOU8MAX_4A)); + LLVector4a absVal; absVal.setAbs( val ); + setSelectWithMask( absVal.lessThan( maxError ), F_ZERO_4A, val ); + } +} + +void LLVector4a::quantize16( const LLVector4a& low, const LLVector4a& high ) +{ + LLVector4a val(mQ); + LLVector4a delta; delta.setSub( high, low ); + + { + val.clamp(low, high); + val.sub(low); + + // 16-bit quantization means we need a round of Newton-Raphson + LLVector4a oneOverDelta; + { + static LL_ALIGN_16( const F32 F_TWO_4A[4] ) = { 2.f, 2.f, 2.f, 2.f }; + LLVector4a two; two.load4a( F_TWO_4A ); + + // Here we use _mm_rcp_ps plus one round of newton-raphson + // We wish to find 'x' such that x = 1/delta + // As a first approximation, we take x0 = _mm_rcp_ps(delta) + // Then x1 = 2 * x0 - a * x0^2 or x1 = x0 * ( 2 - a * x0 ) + // See Intel AP-803 http://ompf.org/!/Intel_application_note_AP-803.pdf + const LLVector4a recipApprox = _mm_rcp_ps(delta.mQ); + oneOverDelta.setMul( delta, recipApprox ); + oneOverDelta.setSub( two, oneOverDelta ); + oneOverDelta.mul( recipApprox ); + } + + val.mul(oneOverDelta); + val.mul(*reinterpret_cast(F_U16MAX_4A)); + } + + val = _mm_cvtepi32_ps(_mm_cvtps_epi32( val.mQ )); + + { + val.mul(*reinterpret_cast(F_OOU16MAX_4A)); + val.mul(delta); + val.add(low); + } + + { + LLVector4a maxError; maxError.setMul(delta, *reinterpret_cast(F_OOU16MAX_4A)); + LLVector4a absVal; absVal.setAbs( val ); + setSelectWithMask( absVal.lessThan( maxError ), F_ZERO_4A, val ); + } +} diff --git a/indra/llmath/llvector4a.h b/indra/llmath/llvector4a.h new file mode 100644 index 0000000000..76a3e999ce --- /dev/null +++ b/indra/llmath/llvector4a.h @@ -0,0 +1,331 @@ +/** + * @file llvector4a.h + * @brief LLVector4a class header file - memory aligned and vectorized 4 component vector + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2007-2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLVECTOR4A_H +#define LL_LLVECTOR4A_H + + +class LLRotation; + +#include +#include "llpreprocessor.h" + +/////////////////////////////////// +// FIRST TIME USERS PLEASE READ +////////////////////////////////// +// This is just the beginning of LLVector4a. There are many more useful functions +// yet to be implemented. For example, setNeg to negate a vector, rotate() to apply +// a matrix rotation, various functions to manipulate only the X, Y, and Z elements +// and many others (including a whole variety of accessors). So if you don't see a +// function here that you need, please contact Falcon or someone else with SSE +// experience (Richard, I think, has some and davep has a little as of the time +// of this writing, July 08, 2010) about getting it implemented before you resort to +// LLVector3/LLVector4. +///////////////////////////////// + +class LLVector4a +{ +public: + + /////////////////////////////////// + // STATIC METHODS + /////////////////////////////////// + + // Call initClass() at startup to avoid 15,000+ cycle penalties from denormalized numbers + static void initClass() + { + _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON); + _MM_SET_ROUNDING_MODE(_MM_ROUND_NEAREST); + } + + // Return a vector of all zeros + static inline const LLVector4a& getZero() + { + extern const LLVector4a LL_V4A_ZERO; + return LL_V4A_ZERO; + } + + // Return a vector of all epsilon, where epsilon is a small float suitable for approximate equality checks + static inline const LLVector4a& getEpsilon() + { + extern const LLVector4a LL_V4A_EPSILON; + return LL_V4A_EPSILON; + } + + // Copy 16 bytes from src to dst. Source and destination must be 16-byte aligned + static inline void copy4a(F32* dst, const F32* src) + { + _mm_store_ps(dst, _mm_load_ps(src)); + } + + // Copy words 16-byte blocks from src to dst. Source and destination must not overlap. + static void memcpyNonAliased16(F32* __restrict dst, const F32* __restrict src, size_t bytes); + + //////////////////////////////////// + // CONSTRUCTORS + //////////////////////////////////// + + LLVector4a() + { //DO NOT INITIALIZE -- The overhead is completely unnecessary + } + + LLVector4a(F32 x, F32 y, F32 z, F32 w = 0.f) + { + set(x,y,z,w); + } + + LLVector4a(F32 x) + { + splat(x); + } + + LLVector4a(const LLSimdScalar& x) + { + splat(x); + } + + LLVector4a(LLQuad q) + { + mQ = q; + } + + //////////////////////////////////// + // LOAD/STORE + //////////////////////////////////// + + // Load from 16-byte aligned src array (preferred method of loading) + inline void load4a(const F32* src); + + // Load from unaligned src array (NB: Significantly slower than load4a) + inline void loadua(const F32* src); + + // Load only three floats beginning at address 'src'. Slowest method. + inline void load3(const F32* src); + + // Store to a 16-byte aligned memory address + inline void store4a(F32* dst) const; + + //////////////////////////////////// + // BASIC GET/SET + //////////////////////////////////// + + // Return a "this" as an F32 pointer. Do not use unless you have a very good reason. (Not sure? Ask Falcon) + inline F32* getF32ptr(); + + // Return a "this" as a const F32 pointer. Do not use unless you have a very good reason. (Not sure? Ask Falcon) + inline const F32* const getF32ptr() const; + + // Read-only access a single float in this vector. Do not use in proximity to any function call that manipulates + // the data at the whole vector level or you will incur a substantial penalty. Consider using the splat functions instead + inline F32 operator[](const S32 idx) const; + + // Prefer this method for read-only access to a single element. Prefer the templated version if the elem is known at compile time. + inline LLSimdScalar getScalarAt(const S32 idx) const; + + // Prefer this method for read-only access to a single element. Prefer the templated version if the elem is known at compile time. + template LL_FORCE_INLINE LLSimdScalar getScalarAt() const; + template <> LL_FORCE_INLINE LLSimdScalar getScalarAt<0>() const; + + // Set to an x, y, z and optional w provided + inline void set(F32 x, F32 y, F32 z, F32 w = 0.f); + + // Set to all zeros. This is preferred to using ::getZero() + inline void clear(); + + // Set all elements to 'x' + inline void splat(const F32 x); + + // Set all elements to 'x' + inline void splat(const LLSimdScalar& x); + + // Set all 4 elements to element N of src, with N known at compile time + template void splat(const LLVector4a& src); + + // Set all 4 elements to element i of v, with i NOT known at compile time + inline void splat(const LLVector4a& v, U32 i); + + // Select bits from sourceIfTrue and sourceIfFalse according to bits in mask + inline void setSelectWithMask( const LLVector4Logical& mask, const LLVector4a& sourceIfTrue, const LLVector4a& sourceIfFalse ); + + //////////////////////////////////// + // ALGEBRAIC + //////////////////////////////////// + + // Set this to the element-wise (a + b) + inline void setAdd(const LLVector4a& a, const LLVector4a& b); + + // Set this to element-wise (a - b) + inline void setSub(const LLVector4a& a, const LLVector4a& b); + + // Set this to element-wise multiply (a * b) + inline void setMul(const LLVector4a& a, const LLVector4a& b); + + // Set this to element-wise quotient (a / b) + inline void setDiv(const LLVector4a& a, const LLVector4a& b); + + // Set this to the element-wise absolute value of src + inline void setAbs(const LLVector4a& src); + + // Add to each component in this vector the corresponding component in rhs + inline void add(const LLVector4a& rhs); + + // Subtract from each component in this vector the corresponding component in rhs + inline void sub(const LLVector4a& rhs); + + // Multiply each component in this vector by the corresponding component in rhs + inline void mul(const LLVector4a& rhs); + + // Divide each component in this vector by the corresponding component in rhs + inline void div(const LLVector4a& rhs); + + // Multiply this vector by x in a scalar fashion + inline void mul(const F32 x); + + // Set this to (a x b) (geometric cross-product) + inline void setCross3(const LLVector4a& a, const LLVector4a& b); + + // Set all elements to the dot product of the x, y, and z elements in a and b + inline void setAllDot3(const LLVector4a& a, const LLVector4a& b); + + // Set all elements to the dot product of the x, y, z, and w elements in a and b + inline void setAllDot4(const LLVector4a& a, const LLVector4a& b); + + // Return the 3D dot product of this vector and b + inline LLSimdScalar dot3(const LLVector4a& b) const; + + // Return the 4D dot product of this vector and b + inline LLSimdScalar dot4(const LLVector4a& b) const; + + // Normalize this vector with respect to the x, y, and z components only. Accurate to 22 bites of precision. W component is destroyed + // Note that this does not consider zero length vectors! + inline void normalize3(); + + // Same as normalize3() but with respect to all 4 components + inline void normalize4(); + + // Same as normalize3(), but returns length as a SIMD scalar + inline LLSimdScalar normalize3withLength(); + + // Normalize this vector with respect to the x, y, and z components only. Accurate only to 10-12 bits of precision. W component is destroyed + // Note that this does not consider zero length vectors! + inline void normalize3fast(); + + // Return true if this vector is normalized with respect to x,y,z up to tolerance + inline LLBool32 isNormalized3( F32 tolerance = 1e-3 ) const; + + // Return true if this vector is normalized with respect to all components up to tolerance + inline LLBool32 isNormalized4( F32 tolerance = 1e-3 ) const; + + // Set all elements to the length of vector 'v' + inline void setAllLength3( const LLVector4a& v ); + + // Get this vector's length + inline LLSimdScalar getLength3() const; + + // Set the components of this vector to the minimum of the corresponding components of lhs and rhs + inline void setMin(const LLVector4a& lhs, const LLVector4a& rhs); + + // Set the components of this vector to the maximum of the corresponding components of lhs and rhs + inline void setMax(const LLVector4a& lhs, const LLVector4a& rhs); + + // Clamps this vector to be within the component-wise range low to high (inclusive) + inline void clamp( const LLVector4a& low, const LLVector4a& high ); + + // Set this to (c * lhs) + rhs * ( 1 - c) + inline void setLerp(const LLVector4a& lhs, const LLVector4a& rhs, F32 c); + + // Return true (nonzero) if x, y, z (and w for Finite4) are all finite floats + inline LLBool32 isFinite3() const; + inline LLBool32 isFinite4() const; + + // Set this vector to 'vec' rotated by the LLRotation or LLQuaternion2 provided + void setRotated( const LLRotation& rot, const LLVector4a& vec ); + void setRotated( const class LLQuaternion2& quat, const LLVector4a& vec ); + + // Set this vector to 'vec' rotated by the INVERSE of the LLRotation or LLQuaternion2 provided + inline void setRotatedInv( const LLRotation& rot, const LLVector4a& vec ); + inline void setRotatedInv( const class LLQuaternion2& quat, const LLVector4a& vec ); + + // Quantize this vector to 8 or 16 bit precision + void quantize8( const LLVector4a& low, const LLVector4a& high ); + void quantize16( const LLVector4a& low, const LLVector4a& high ); + + //////////////////////////////////// + // LOGICAL + //////////////////////////////////// + // The functions in this section will compare the elements in this vector + // to those in rhs and return an LLVector4Logical with all bits set in elements + // where the comparison was true and all bits unset in elements where the comparison + // was false. See llvector4logica.h + //////////////////////////////////// + // WARNING: Other than equals3 and equals4, these functions do NOT account + // for floating point tolerance. You should include the appropriate tolerance + // in the inputs. + //////////////////////////////////// + + inline LLVector4Logical greaterThan(const LLVector4a& rhs) const; + + inline LLVector4Logical lessThan(const LLVector4a& rhs) const; + + inline LLVector4Logical greaterEqual(const LLVector4a& rhs) const; + + inline LLVector4Logical lessEqual(const LLVector4a& rhs) const; + + inline LLVector4Logical equal(const LLVector4a& rhs) const; + + // Returns true if this and rhs are componentwise equal up to the specified absolute tolerance + inline bool equals4(const LLVector4a& rhs, F32 tolerance = F_APPROXIMATELY_ZERO ) const; + + inline bool equals3(const LLVector4a& rhs, F32 tolerance = F_APPROXIMATELY_ZERO ) const; + + //////////////////////////////////// + // OPERATORS + //////////////////////////////////// + + // Do NOT add aditional operators without consulting someone with SSE experience + inline const LLVector4a& operator= ( const LLVector4a& rhs ); + + inline const LLVector4a& operator= ( const LLQuad& rhs ); + + inline operator LLQuad() const; + +private: + LLQuad mQ; +}; + +inline void update_min_max(LLVector4a& min, LLVector4a& max, const LLVector4a& p) +{ + min.setMin(min, p); + max.setMax(max, p); +} + +#endif diff --git a/indra/llmath/llvector4a.inl b/indra/llmath/llvector4a.inl new file mode 100644 index 0000000000..e52b550883 --- /dev/null +++ b/indra/llmath/llvector4a.inl @@ -0,0 +1,599 @@ +/** + * @file llvector4a.inl + * @brief LLVector4a inline function implementations + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2007-2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +//////////////////////////////////// +// LOAD/STORE +//////////////////////////////////// + +// Load from 16-byte aligned src array (preferred method of loading) +inline void LLVector4a::load4a(const F32* src) +{ + mQ = _mm_load_ps(src); +} + +// Load from unaligned src array (NB: Significantly slower than load4a) +inline void LLVector4a::loadua(const F32* src) +{ + mQ = _mm_loadu_ps(src); +} + +// Load only three floats beginning at address 'src'. Slowest method. +inline void LLVector4a::load3(const F32* src) +{ + // mQ = { 0.f, src[2], src[1], src[0] } = { W, Z, Y, X } + // NB: This differs from the convention of { Z, Y, X, W } + mQ = _mm_set_ps(0.f, src[2], src[1], src[0]); +} + +// Store to a 16-byte aligned memory address +inline void LLVector4a::store4a(F32* dst) const +{ + _mm_store_ps(dst, mQ); +} + +//////////////////////////////////// +// BASIC GET/SET +//////////////////////////////////// + +// Return a "this" as an F32 pointer. Do not use unless you have a very good reason. (Not sure? Ask Falcon) +F32* LLVector4a::getF32ptr() +{ + return (F32*) &mQ; +} + +// Return a "this" as a const F32 pointer. Do not use unless you have a very good reason. (Not sure? Ask Falcon) +const F32* const LLVector4a::getF32ptr() const +{ + return (const F32* const) &mQ; +} + +// Read-only access a single float in this vector. Do not use in proximity to any function call that manipulates +// the data at the whole vector level or you will incur a substantial penalty. Consider using the splat functions instead +inline F32 LLVector4a::operator[](const S32 idx) const +{ + return ((F32*)&mQ)[idx]; +} + +// Prefer this method for read-only access to a single element. Prefer the templated version if the elem is known at compile time. +inline LLSimdScalar LLVector4a::getScalarAt(const S32 idx) const +{ + // Return appropriate LLQuad. It will be cast to LLSimdScalar automatically (should be effectively a nop) + switch (idx) + { + case 0: + return mQ; + case 1: + return _mm_shuffle_ps(mQ, mQ, _MM_SHUFFLE(1, 1, 1, 1)); + case 2: + return _mm_shuffle_ps(mQ, mQ, _MM_SHUFFLE(2, 2, 2, 2)); + case 3: + default: + return _mm_shuffle_ps(mQ, mQ, _MM_SHUFFLE(3, 3, 3, 3)); + } +} + +// Prefer this method for read-only access to a single element. Prefer the templated version if the elem is known at compile time. +template LL_FORCE_INLINE LLSimdScalar LLVector4a::getScalarAt() const +{ + return _mm_shuffle_ps(mQ, mQ, _MM_SHUFFLE(N, N, N, N)); +} + +template<> LL_FORCE_INLINE LLSimdScalar LLVector4a::getScalarAt<0>() const +{ + return mQ; +} + +// Set to an x, y, z and optional w provided +inline void LLVector4a::set(F32 x, F32 y, F32 z, F32 w) +{ + mQ = _mm_set_ps(w, z, y, x); +} + +// Set to all zeros +inline void LLVector4a::clear() +{ + mQ = LLVector4a::getZero().mQ; +} + +inline void LLVector4a::splat(const F32 x) +{ + mQ = _mm_set1_ps(x); +} + +inline void LLVector4a::splat(const LLSimdScalar& x) +{ + mQ = _mm_shuffle_ps( x.getQuad(), x.getQuad(), _MM_SHUFFLE(0,0,0,0) ); +} + +// Set all 4 elements to element N of src, with N known at compile time +template void LLVector4a::splat(const LLVector4a& src) +{ + mQ = _mm_shuffle_ps(src.mQ, src.mQ, _MM_SHUFFLE(N, N, N, N) ); +} + +// Set all 4 elements to element i of v, with i NOT known at compile time +inline void LLVector4a::splat(const LLVector4a& v, U32 i) +{ + switch (i) + { + case 0: + mQ = _mm_shuffle_ps(v.mQ, v.mQ, _MM_SHUFFLE(0, 0, 0, 0)); + break; + case 1: + mQ = _mm_shuffle_ps(v.mQ, v.mQ, _MM_SHUFFLE(1, 1, 1, 1)); + break; + case 2: + mQ = _mm_shuffle_ps(v.mQ, v.mQ, _MM_SHUFFLE(2, 2, 2, 2)); + break; + case 3: + mQ = _mm_shuffle_ps(v.mQ, v.mQ, _MM_SHUFFLE(3, 3, 3, 3)); + break; + } +} + +// Select bits from sourceIfTrue and sourceIfFalse according to bits in mask +inline void LLVector4a::setSelectWithMask( const LLVector4Logical& mask, const LLVector4a& sourceIfTrue, const LLVector4a& sourceIfFalse ) +{ + // ((( sourceIfTrue ^ sourceIfFalse ) & mask) ^ sourceIfFalse ) + // E.g., sourceIfFalse = 1010b, sourceIfTrue = 0101b, mask = 1100b + // (sourceIfTrue ^ sourceIfFalse) = 1111b --> & mask = 1100b --> ^ sourceIfFalse = 0110b, + // as expected (01 from sourceIfTrue, 10 from sourceIfFalse) + // Courtesy of Mark++, http://markplusplus.wordpress.com/2007/03/14/fast-sse-select-operation/ + mQ = _mm_xor_ps( sourceIfFalse, _mm_and_ps( mask, _mm_xor_ps( sourceIfTrue, sourceIfFalse ) ) ); +} + +//////////////////////////////////// +// ALGEBRAIC +//////////////////////////////////// + +// Set this to the element-wise (a + b) +inline void LLVector4a::setAdd(const LLVector4a& a, const LLVector4a& b) +{ + mQ = _mm_add_ps(a.mQ, b.mQ); +} + +// Set this to element-wise (a - b) +inline void LLVector4a::setSub(const LLVector4a& a, const LLVector4a& b) +{ + mQ = _mm_sub_ps(a.mQ, b.mQ); +} + +// Set this to element-wise multiply (a * b) +inline void LLVector4a::setMul(const LLVector4a& a, const LLVector4a& b) +{ + mQ = _mm_mul_ps(a.mQ, b.mQ); +} + +// Set this to element-wise quotient (a / b) +inline void LLVector4a::setDiv(const LLVector4a& a, const LLVector4a& b) +{ + mQ = _mm_div_ps( a.mQ, b.mQ ); +} + +// Set this to the element-wise absolute value of src +inline void LLVector4a::setAbs(const LLVector4a& src) +{ + static const LL_ALIGN_16(U32 F_ABS_MASK_4A[4]) = { 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF }; + mQ = _mm_and_ps(src.mQ, *reinterpret_cast(F_ABS_MASK_4A)); +} + +// Add to each component in this vector the corresponding component in rhs +inline void LLVector4a::add(const LLVector4a& rhs) +{ + mQ = _mm_add_ps(mQ, rhs.mQ); +} + +// Subtract from each component in this vector the corresponding component in rhs +inline void LLVector4a::sub(const LLVector4a& rhs) +{ + mQ = _mm_sub_ps(mQ, rhs.mQ); +} + +// Multiply each component in this vector by the corresponding component in rhs +inline void LLVector4a::mul(const LLVector4a& rhs) +{ + mQ = _mm_mul_ps(mQ, rhs.mQ); +} + +// Divide each component in this vector by the corresponding component in rhs +inline void LLVector4a::div(const LLVector4a& rhs) +{ + // TODO: Check accuracy, maybe add divFast + mQ = _mm_div_ps(mQ, rhs.mQ); +} + +// Multiply this vector by x in a scalar fashion +inline void LLVector4a::mul(const F32 x) +{ + LLVector4a t; + t.splat(x); + + mQ = _mm_mul_ps(mQ, t.mQ); +} + +// Set this to (a x b) (geometric cross-product) +inline void LLVector4a::setCross3(const LLVector4a& a, const LLVector4a& b) +{ + // Vectors are stored in memory in w, z, y, x order from high to low + // Set vector1 = { a[W], a[X], a[Z], a[Y] } + const LLQuad vector1 = _mm_shuffle_ps( a.mQ, a.mQ, _MM_SHUFFLE( 3, 0, 2, 1 )); + // Set vector2 = { b[W], b[Y], b[X], b[Z] } + const LLQuad vector2 = _mm_shuffle_ps( b.mQ, b.mQ, _MM_SHUFFLE( 3, 1, 0, 2 )); + // mQ = { a[W]*b[W], a[X]*b[Y], a[Z]*b[X], a[Y]*b[Z] } + mQ = _mm_mul_ps( vector1, vector2 ); + // vector3 = { a[W], a[Y], a[X], a[Z] } + const LLQuad vector3 = _mm_shuffle_ps( a.mQ, a.mQ, _MM_SHUFFLE( 3, 1, 0, 2 )); + // vector4 = { b[W], b[X], b[Z], b[Y] } + const LLQuad vector4 = _mm_shuffle_ps( b.mQ, b.mQ, _MM_SHUFFLE( 3, 0, 2, 1 )); + // mQ = { 0, a[X]*b[Y] - a[Y]*b[X], a[Z]*b[X] - a[X]*b[Z], a[Y]*b[Z] - a[Z]*b[Y] } + mQ = _mm_sub_ps( mQ, _mm_mul_ps( vector3, vector4 )); +} + +/* This function works, but may be slightly slower than the one below on older machines + inline void LLVector4a::setAllDot3(const LLVector4a& a, const LLVector4a& b) + { + // ab = { a[W]*b[W], a[Z]*b[Z], a[Y]*b[Y], a[X]*b[X] } + const LLQuad ab = _mm_mul_ps( a.mQ, b.mQ ); + // yzxw = { a[W]*b[W], a[Z]*b[Z], a[X]*b[X], a[Y]*b[Y] } + const LLQuad wzxy = _mm_shuffle_ps( ab, ab, _MM_SHUFFLE(3, 2, 0, 1 )); + // xPlusY = { 2*a[W]*b[W], 2 * a[Z] * b[Z], a[Y]*b[Y] + a[X] * b[X], a[X] * b[X] + a[Y] * b[Y] } + const LLQuad xPlusY = _mm_add_ps(ab, wzxy); + // xPlusYSplat = { a[Y]*b[Y] + a[X] * b[X], a[X] * b[X] + a[Y] * b[Y], a[Y]*b[Y] + a[X] * b[X], a[X] * b[X] + a[Y] * b[Y] } + const LLQuad xPlusYSplat = _mm_movelh_ps(xPlusY, xPlusY); + // zSplat = { a[Z]*b[Z], a[Z]*b[Z], a[Z]*b[Z], a[Z]*b[Z] } + const LLQuad zSplat = _mm_shuffle_ps( ab, ab, _MM_SHUFFLE( 2, 2, 2, 2 )); + // mQ = { a[Z] * b[Z] + a[Y] * b[Y] + a[X] * b[X], same, same, same } + mQ = _mm_add_ps(zSplat, xPlusYSplat); + }*/ + +// Set all elements to the dot product of the x, y, and z elements in a and b +inline void LLVector4a::setAllDot3(const LLVector4a& a, const LLVector4a& b) +{ + // ab = { a[W]*b[W], a[Z]*b[Z], a[Y]*b[Y], a[X]*b[X] } + const LLQuad ab = _mm_mul_ps( a.mQ, b.mQ ); + // yzxw = { a[W]*b[W], a[Z]*b[Z], a[X]*b[X], a[Y]*b[Y] } + const __m128i wzxy = _mm_shuffle_epi32(_mm_castps_si128(ab), _MM_SHUFFLE(3, 2, 0, 1 )); + // xPlusY = { 2*a[W]*b[W], 2 * a[Z] * b[Z], a[Y]*b[Y] + a[X] * b[X], a[X] * b[X] + a[Y] * b[Y] } + const LLQuad xPlusY = _mm_add_ps(ab, _mm_castsi128_ps(wzxy)); + // xPlusYSplat = { a[Y]*b[Y] + a[X] * b[X], a[X] * b[X] + a[Y] * b[Y], a[Y]*b[Y] + a[X] * b[X], a[X] * b[X] + a[Y] * b[Y] } + const LLQuad xPlusYSplat = _mm_movelh_ps(xPlusY, xPlusY); + // zSplat = { a[Z]*b[Z], a[Z]*b[Z], a[Z]*b[Z], a[Z]*b[Z] } + const __m128i zSplat = _mm_shuffle_epi32(_mm_castps_si128(ab), _MM_SHUFFLE( 2, 2, 2, 2 )); + // mQ = { a[Z] * b[Z] + a[Y] * b[Y] + a[X] * b[X], same, same, same } + mQ = _mm_add_ps(_mm_castsi128_ps(zSplat), xPlusYSplat); +} + +// Set all elements to the dot product of the x, y, z, and w elements in a and b +inline void LLVector4a::setAllDot4(const LLVector4a& a, const LLVector4a& b) +{ + // ab = { a[W]*b[W], a[Z]*b[Z], a[Y]*b[Y], a[X]*b[X] } + const LLQuad ab = _mm_mul_ps( a.mQ, b.mQ ); + // yzxw = { a[W]*b[W], a[Z]*b[Z], a[X]*b[X], a[Y]*b[Y] } + const __m128i zwxy = _mm_shuffle_epi32(_mm_castps_si128(ab), _MM_SHUFFLE(2, 3, 0, 1 )); + // zPlusWandXplusY = { a[W]*b[W] + a[Z]*b[Z], a[Z] * b[Z] + a[W]*b[W], a[Y]*b[Y] + a[X] * b[X], a[X] * b[X] + a[Y] * b[Y] } + const LLQuad zPlusWandXplusY = _mm_add_ps(ab, _mm_castsi128_ps(zwxy)); + // xPlusYSplat = { a[Y]*b[Y] + a[X] * b[X], a[X] * b[X] + a[Y] * b[Y], a[Y]*b[Y] + a[X] * b[X], a[X] * b[X] + a[Y] * b[Y] } + const LLQuad xPlusYSplat = _mm_movelh_ps(zPlusWandXplusY, zPlusWandXplusY); + const LLQuad zPlusWSplat = _mm_movehl_ps(zPlusWandXplusY, zPlusWandXplusY); + + // mQ = { a[W]*b[W] + a[Z] * b[Z] + a[Y] * b[Y] + a[X] * b[X], same, same, same } + mQ = _mm_add_ps(xPlusYSplat, zPlusWSplat); +} + +// Return the 3D dot product of this vector and b +inline LLSimdScalar LLVector4a::dot3(const LLVector4a& b) const +{ + const LLQuad ab = _mm_mul_ps( mQ, b.mQ ); + const LLQuad splatY = _mm_castsi128_ps( _mm_shuffle_epi32( _mm_castps_si128(ab), _MM_SHUFFLE(1, 1, 1, 1) ) ); + const LLQuad splatZ = _mm_castsi128_ps( _mm_shuffle_epi32( _mm_castps_si128(ab), _MM_SHUFFLE(2, 2, 2, 2) ) ); + const LLQuad xPlusY = _mm_add_ps( ab, splatY ); + return _mm_add_ps( xPlusY, splatZ ); +} + +// Return the 4D dot product of this vector and b +inline LLSimdScalar LLVector4a::dot4(const LLVector4a& b) const +{ + // ab = { w, z, y, x } + const LLQuad ab = _mm_mul_ps( mQ, b.mQ ); + // upperProdsInLowerElems = { y, x, y, x } + const LLQuad upperProdsInLowerElems = _mm_movehl_ps( ab, ab ); + // sumOfPairs = { w+y, z+x, 2y, 2x } + const LLQuad sumOfPairs = _mm_add_ps( upperProdsInLowerElems, ab ); + // shuffled = { z+x, z+x, z+x, z+x } + const LLQuad shuffled = _mm_castsi128_ps( _mm_shuffle_epi32( _mm_castps_si128( sumOfPairs ), _MM_SHUFFLE(1, 1, 1, 1) ) ); + return _mm_add_ss( sumOfPairs, shuffled ); +} + +// Normalize this vector with respect to the x, y, and z components only. Accurate to 22 bites of precision. W component is destroyed +// Note that this does not consider zero length vectors! +inline void LLVector4a::normalize3() +{ + // lenSqrd = a dot a + 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); + static const LLQuad half = { 0.5f, 0.5f, 0.5f, 0.5f }; + static const LLQuad three = {3.f, 3.f, 3.f, 3.f }; + // 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)) + // w[i+1] = w + 0.5 * (1/w^2 - a) * w^3 = w + 0.5 * (w - a*w^3) = 1.5 * w - 0.5 * a * w^3 + // = 0.5 * w * (3 - a*w^2) + // Our first approx is w = rsqrt. We need out = a * w[i+1] (this is the input vector 'a', not the 'a' from the above formula + // which is actually lenSqrd). So out = a * [0.5*rsqrt * (3 - lenSqrd*rsqrt*rsqrt)] + const LLQuad AtimesRsqrt = _mm_mul_ps( lenSqrd.mQ, rsqrt ); + const LLQuad AtimesRsqrtTimesRsqrt = _mm_mul_ps( AtimesRsqrt, rsqrt ); + const LLQuad threeMinusAtimesRsqrtTimesRsqrt = _mm_sub_ps(three, AtimesRsqrtTimesRsqrt ); + const LLQuad nrApprox = _mm_mul_ps(half, _mm_mul_ps(rsqrt, threeMinusAtimesRsqrtTimesRsqrt)); + mQ = _mm_mul_ps( mQ, nrApprox ); +} + +// Normalize this vector with respect to all components. Accurate to 22 bites of precision. +// Note that this does not consider zero length vectors! +inline void LLVector4a::normalize4() +{ + // lenSqrd = a dot a + 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); + static const LLQuad half = { 0.5f, 0.5f, 0.5f, 0.5f }; + static const LLQuad three = {3.f, 3.f, 3.f, 3.f }; + // 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)) + // w[i+1] = w + 0.5 * (1/w^2 - a) * w^3 = w + 0.5 * (w - a*w^3) = 1.5 * w - 0.5 * a * w^3 + // = 0.5 * w * (3 - a*w^2) + // Our first approx is w = rsqrt. We need out = a * w[i+1] (this is the input vector 'a', not the 'a' from the above formula + // which is actually lenSqrd). So out = a * [0.5*rsqrt * (3 - lenSqrd*rsqrt*rsqrt)] + const LLQuad AtimesRsqrt = _mm_mul_ps( lenSqrd.mQ, rsqrt ); + const LLQuad AtimesRsqrtTimesRsqrt = _mm_mul_ps( AtimesRsqrt, rsqrt ); + const LLQuad threeMinusAtimesRsqrtTimesRsqrt = _mm_sub_ps(three, AtimesRsqrtTimesRsqrt ); + const LLQuad nrApprox = _mm_mul_ps(half, _mm_mul_ps(rsqrt, threeMinusAtimesRsqrtTimesRsqrt)); + mQ = _mm_mul_ps( mQ, nrApprox ); +} + +// Normalize this vector with respect to the x, y, and z components only. Accurate to 22 bites of precision. W component is destroyed +// Note that this does not consider zero length vectors! +inline LLSimdScalar LLVector4a::normalize3withLength() +{ + // lenSqrd = a dot a + 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); + static const LLQuad half = { 0.5f, 0.5f, 0.5f, 0.5f }; + static const LLQuad three = {3.f, 3.f, 3.f, 3.f }; + // 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)) + // w[i+1] = w + 0.5 * (1/w^2 - a) * w^3 = w + 0.5 * (w - a*w^3) = 1.5 * w - 0.5 * a * w^3 + // = 0.5 * w * (3 - a*w^2) + // Our first approx is w = rsqrt. We need out = a * w[i+1] (this is the input vector 'a', not the 'a' from the above formula + // which is actually lenSqrd). So out = a * [0.5*rsqrt * (3 - lenSqrd*rsqrt*rsqrt)] + const LLQuad AtimesRsqrt = _mm_mul_ps( lenSqrd.mQ, rsqrt ); + const LLQuad AtimesRsqrtTimesRsqrt = _mm_mul_ps( AtimesRsqrt, rsqrt ); + const LLQuad threeMinusAtimesRsqrtTimesRsqrt = _mm_sub_ps(three, AtimesRsqrtTimesRsqrt ); + const LLQuad nrApprox = _mm_mul_ps(half, _mm_mul_ps(rsqrt, threeMinusAtimesRsqrtTimesRsqrt)); + mQ = _mm_mul_ps( mQ, nrApprox ); + return _mm_sqrt_ss(lenSqrd); +} + +// Normalize this vector with respect to the x, y, and z components only. Accurate only to 10-12 bits of precision. W component is destroyed +// Note that this does not consider zero length vectors! +inline void LLVector4a::normalize3fast() +{ + LLVector4a lenSqrd; lenSqrd.setAllDot3( *this, *this ); + const LLQuad approxRsqrt = _mm_rsqrt_ps(lenSqrd.mQ); + mQ = _mm_mul_ps( mQ, approxRsqrt ); +} + +// Return true if this vector is normalized with respect to x,y,z up to tolerance +inline LLBool32 LLVector4a::isNormalized3( F32 tolerance ) const +{ + static LL_ALIGN_16(const U32 ones[4]) = { 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 }; + LLSimdScalar tol = _mm_load_ss( &tolerance ); + tol = _mm_mul_ss( tol, tol ); + LLVector4a lenSquared; lenSquared.setAllDot3( *this, *this ); + lenSquared.sub( *reinterpret_cast(ones) ); + lenSquared.setAbs(lenSquared); + return _mm_comile_ss( lenSquared, tol ); +} + +// Return true if this vector is normalized with respect to all components up to tolerance +inline LLBool32 LLVector4a::isNormalized4( F32 tolerance ) const +{ + static LL_ALIGN_16(const U32 ones[4]) = { 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 }; + LLSimdScalar tol = _mm_load_ss( &tolerance ); + tol = _mm_mul_ss( tol, tol ); + LLVector4a lenSquared; lenSquared.setAllDot4( *this, *this ); + lenSquared.sub( *reinterpret_cast(ones) ); + lenSquared.setAbs(lenSquared); + return _mm_comile_ss( lenSquared, tol ); +} + +// Set all elements to the length of vector 'v' +inline void LLVector4a::setAllLength3( const LLVector4a& v ) +{ + LLVector4a lenSqrd; + lenSqrd.setAllDot3(v, v); + + mQ = _mm_sqrt_ps(lenSqrd.mQ); +} + +// Get this vector's length +inline LLSimdScalar LLVector4a::getLength3() const +{ + return _mm_sqrt_ss( dot3( (const LLVector4a)mQ ) ); +} + +// Set the components of this vector to the minimum of the corresponding components of lhs and rhs +inline void LLVector4a::setMin(const LLVector4a& lhs, const LLVector4a& rhs) +{ + mQ = _mm_min_ps(lhs.mQ, rhs.mQ); +} + +// Set the components of this vector to the maximum of the corresponding components of lhs and rhs +inline void LLVector4a::setMax(const LLVector4a& lhs, const LLVector4a& rhs) +{ + mQ = _mm_max_ps(lhs.mQ, rhs.mQ); +} + +// Set this to (c * lhs) + rhs * ( 1 - c) +inline void LLVector4a::setLerp(const LLVector4a& lhs, const LLVector4a& rhs, F32 c) +{ + LLVector4a a = lhs; + a.mul(c); + + LLVector4a b = rhs; + b.mul(1.f-c); + + setAdd(a, b); +} + +inline LLBool32 LLVector4a::isFinite3() const +{ + static LL_ALIGN_16(const U32 nanOrInfMask[4]) = { 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 }; + const __m128i nanOrInfMaskV = *reinterpret_cast (nanOrInfMask); + const __m128i maskResult = _mm_and_si128( _mm_castps_si128(mQ), nanOrInfMaskV ); + const LLVector4Logical equalityCheck = _mm_castsi128_ps(_mm_cmpeq_epi32( maskResult, nanOrInfMaskV )); + return !equalityCheck.areAnySet( LLVector4Logical::MASK_XYZ ); +} + +inline LLBool32 LLVector4a::isFinite4() const +{ + static LL_ALIGN_16(const U32 nanOrInfMask[4]) = { 0x7f800000, 0x7f800000, 0x7f800000, 0x7f800000 }; + const __m128i nanOrInfMaskV = *reinterpret_cast (nanOrInfMask); + const __m128i maskResult = _mm_and_si128( _mm_castps_si128(mQ), nanOrInfMaskV ); + const LLVector4Logical equalityCheck = _mm_castsi128_ps(_mm_cmpeq_epi32( maskResult, nanOrInfMaskV )); + return !equalityCheck.areAnySet( LLVector4Logical::MASK_XYZW ); +} + +inline void LLVector4a::setRotatedInv( const LLRotation& rot, const LLVector4a& vec ) +{ + LLRotation inv; inv.setTranspose( rot ); + setRotated( inv, vec ); +} + +inline void LLVector4a::setRotatedInv( const LLQuaternion2& quat, const LLVector4a& vec ) +{ + LLQuaternion2 invRot; invRot.setConjugate( quat ); + setRotated(invRot, vec); +} + +inline void LLVector4a::clamp( const LLVector4a& low, const LLVector4a& high ) +{ + const LLVector4Logical highMask = greaterThan( high ); + const LLVector4Logical lowMask = lessThan( low ); + + setSelectWithMask( highMask, high, *this ); + setSelectWithMask( lowMask, low, *this ); +} + + +//////////////////////////////////// +// LOGICAL +//////////////////////////////////// +// The functions in this section will compare the elements in this vector +// to those in rhs and return an LLVector4Logical with all bits set in elements +// where the comparison was true and all bits unset in elements where the comparison +// was false. See llvector4logica.h +//////////////////////////////////// +// WARNING: Other than equals3 and equals4, these functions do NOT account +// for floating point tolerance. You should include the appropriate tolerance +// in the inputs. +//////////////////////////////////// + +inline LLVector4Logical LLVector4a::greaterThan(const LLVector4a& rhs) const +{ + return _mm_cmpgt_ps(mQ, rhs.mQ); +} + +inline LLVector4Logical LLVector4a::lessThan(const LLVector4a& rhs) const +{ + return _mm_cmplt_ps(mQ, rhs.mQ); +} + +inline LLVector4Logical LLVector4a::greaterEqual(const LLVector4a& rhs) const +{ + return _mm_cmpge_ps(mQ, rhs.mQ); +} + +inline LLVector4Logical LLVector4a::lessEqual(const LLVector4a& rhs) const +{ + return _mm_cmple_ps(mQ, rhs.mQ); +} + +inline LLVector4Logical LLVector4a::equal(const LLVector4a& rhs) const +{ + return _mm_cmpeq_ps(mQ, rhs.mQ); +} + +// Returns true if this and rhs are componentwise equal up to the specified absolute tolerance +inline bool LLVector4a::equals4(const LLVector4a& rhs, F32 tolerance ) const +{ + LLVector4a diff; diff.setSub( *this, rhs ); + diff.setAbs( diff ); + const LLQuad tol = _mm_set1_ps( tolerance ); + const LLQuad cmp = _mm_cmplt_ps( diff, tol ); + return (_mm_movemask_ps( cmp ) & LLVector4Logical::MASK_XYZW) == LLVector4Logical::MASK_XYZW; +} + +inline bool LLVector4a::equals3(const LLVector4a& rhs, F32 tolerance ) const +{ + LLVector4a diff; diff.setSub( *this, rhs ); + diff.setAbs( diff ); + const LLQuad tol = _mm_set1_ps( tolerance ); + const LLQuad t = _mm_cmplt_ps( diff, tol ); + return (_mm_movemask_ps( t ) & LLVector4Logical::MASK_XYZ) == LLVector4Logical::MASK_XYZ; + +} + +//////////////////////////////////// +// OPERATORS +//////////////////////////////////// + +// Do NOT add aditional operators without consulting someone with SSE experience +inline const LLVector4a& LLVector4a::operator= ( const LLVector4a& rhs ) +{ + mQ = rhs.mQ; + return *this; +} + +inline const LLVector4a& LLVector4a::operator= ( const LLQuad& rhs ) +{ + mQ = rhs; + return *this; +} + +inline LLVector4a::operator LLQuad() const +{ + return mQ; +} diff --git a/indra/llmath/llvector4logical.h b/indra/llmath/llvector4logical.h new file mode 100644 index 0000000000..1c7ee1d79f --- /dev/null +++ b/indra/llmath/llvector4logical.h @@ -0,0 +1,130 @@ +/** + * @file llvector4logical.h + * @brief LLVector4Logical class header file - Companion class to LLVector4a for logical and bit-twiddling operations + * + * $LicenseInfo:firstyear=2010&license=viewergpl$ + * + * Copyright (c) 2007-2010, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_VECTOR4LOGICAL_H +#define LL_VECTOR4LOGICAL_H + + +//////////////////////////// +// LLVector4Logical +//////////////////////////// +// This class is incomplete. If you need additional functionality, +// for example setting/unsetting particular elements or performing +// other boolean operations, feel free to implement. If you need +// assistance in determining the most optimal implementation, +// contact someone with SSE experience (Falcon, Richard, Davep, e.g.) +//////////////////////////// + +static LL_ALIGN_16(const U32 S_V4LOGICAL_MASK_TABLE[4*4]) = +{ + 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, + 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF +}; + +class LLVector4Logical +{ +public: + + enum { + MASK_X = 1, + MASK_Y = 1 << 1, + MASK_Z = 1 << 2, + MASK_W = 1 << 3, + MASK_XYZ = MASK_X | MASK_Y | MASK_Z, + MASK_XYZW = MASK_XYZ | MASK_W + }; + + // Empty default ctor + LLVector4Logical() {} + + LLVector4Logical( const LLQuad& quad ) + { + mQ = quad; + } + + // Create and return a mask consisting of the lowest order bit of each element + inline U32 getGatheredBits() const + { + return _mm_movemask_ps(mQ); + }; + + // Invert this mask + inline LLVector4Logical& invert() + { + static const LL_ALIGN_16(U32 allOnes[4]) = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }; + mQ = _mm_andnot_ps( mQ, *(LLQuad*)(allOnes) ); + return *this; + } + + inline LLBool32 areAllSet( U32 mask ) const + { + return ( getGatheredBits() & mask) == mask; + } + + inline LLBool32 areAllSet() const + { + return areAllSet( MASK_XYZW ); + } + + inline LLBool32 areAnySet( U32 mask ) const + { + return getGatheredBits() & mask; + } + + inline LLBool32 areAnySet() const + { + return areAnySet( MASK_XYZW ); + } + + inline operator LLQuad() const + { + return mQ; + } + + inline void clear() + { + mQ = _mm_setzero_ps(); + } + + template void setElement() + { + mQ = _mm_or_ps( mQ, *reinterpret_cast(S_V4LOGICAL_MASK_TABLE + 4*N) ); + } + +private: + + LLQuad mQ; +}; + +#endif //LL_VECTOR4ALOGICAL_H diff --git a/indra/llmath/llvolumeoctree.cpp b/indra/llmath/llvolumeoctree.cpp new file mode 100644 index 0000000000..194b1faf81 --- /dev/null +++ b/indra/llmath/llvolumeoctree.cpp @@ -0,0 +1,208 @@ +/** + + * @file llvolumeoctree.cpp + * + * $LicenseInfo:firstyear=2002&license=viewergpl$ + * + * Copyright (c) 2002-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llvolumeoctree.h" +#include "llvector4a.h" + +BOOL LLLineSegmentBoxIntersect(const LLVector4a& start, const LLVector4a& end, const LLVector4a& center, const LLVector4a& size) +{ + LLVector4a fAWdU; + LLVector4a dir; + LLVector4a diff; + + dir.setSub(end, start); + dir.mul(0.5f); + + diff.setAdd(end,start); + diff.mul(0.5f); + diff.sub(center); + fAWdU.setAbs(dir); + + LLVector4a rhs; + rhs.setAdd(size, fAWdU); + + LLVector4a lhs; + lhs.setAbs(diff); + + U32 grt = lhs.greaterThan(rhs).getGatheredBits(); + + if (grt & 0x7) + { + return false; + } + + LLVector4a f; + f.setCross3(dir, diff); + f.setAbs(f); + + LLVector4a v0, v1; + + v0 = _mm_shuffle_ps(size, size,_MM_SHUFFLE(3,0,0,1)); + v1 = _mm_shuffle_ps(fAWdU, fAWdU, _MM_SHUFFLE(3,1,2,2)); + lhs.setMul(v0, v1); + + v0 = _mm_shuffle_ps(size, size, _MM_SHUFFLE(3,1,2,2)); + v1 = _mm_shuffle_ps(fAWdU, fAWdU, _MM_SHUFFLE(3,0,0,1)); + rhs.setMul(v0, v1); + rhs.add(lhs); + + grt = f.greaterThan(rhs).getGatheredBits(); + + return (grt & 0x7) ? false : true; +} + + +LLVolumeOctreeListener::LLVolumeOctreeListener(LLOctreeNode* node) +{ + node->addListener(this); + + mBounds = (LLVector4a*) ll_aligned_malloc_16(sizeof(LLVector4a)*4); + mExtents = mBounds+2; +} + +LLVolumeOctreeListener::~LLVolumeOctreeListener() +{ + ll_aligned_free_16(mBounds); +} + +void LLVolumeOctreeListener::handleChildAddition(const LLOctreeNode* parent, + LLOctreeNode* child) +{ + new LLVolumeOctreeListener(child); +} + + +LLOctreeTriangleRayIntersect::LLOctreeTriangleRayIntersect(const LLVector4a& start, const LLVector4a& dir, + const LLVolumeFace* face, F32* closest_t, + LLVector3* intersection,LLVector2* tex_coord, LLVector3* normal, LLVector3* bi_normal) + : mFace(face), + mStart(start), + mDir(dir), + mIntersection(intersection), + mTexCoord(tex_coord), + mNormal(normal), + mBinormal(bi_normal), + mClosestT(closest_t), + mHitFace(false) +{ + mEnd.setAdd(mStart, mDir); +} + +void LLOctreeTriangleRayIntersect::traverse(const LLOctreeNode* node) +{ + LLVolumeOctreeListener* vl = (LLVolumeOctreeListener*) node->getListener(0); + + /*const F32* start = mStart.getF32(); + const F32* end = mEnd.getF32(); + const F32* center = vl->mBounds[0].getF32(); + const F32* size = vl->mBounds[1].getF32();*/ + + //if (LLLineSegmentBoxIntersect(mStart.getF32(), mEnd.getF32(), vl->mBounds[0].getF32(), vl->mBounds[1].getF32())) + if (LLLineSegmentBoxIntersect(mStart, mEnd, vl->mBounds[0], vl->mBounds[1])) + { + node->accept(this); + for (S32 i = 0; i < node->getChildCount(); ++i) + { + traverse(node->getChild(i)); + } + } +} + +void LLOctreeTriangleRayIntersect::visit(const LLOctreeNode* node) +{ + for (LLOctreeNode::const_element_iter iter = + node->getData().begin(); iter != node->getData().end(); ++iter) + { + const LLVolumeTriangle* tri = *iter; + + F32 a, b, t; + + if (LLTriangleRayIntersect(*tri->mV[0], *tri->mV[1], *tri->mV[2], + mStart, mDir, a, b, t)) + { + if ((t >= 0.f) && // if hit is after start + (t <= 1.f) && // and before end + (t < *mClosestT)) // and this hit is closer + { + *mClosestT = t; + mHitFace = true; + + if (mIntersection != NULL) + { + LLVector4a intersect = mDir; + intersect.mul(*mClosestT); + intersect.add(mStart); + mIntersection->set(intersect.getF32ptr()); + } + + + if (mTexCoord != NULL) + { + LLVector2* tc = (LLVector2*) mFace->mTexCoords; + *mTexCoord = ((1.f - a - b) * tc[tri->mIndex[0]] + + a * tc[tri->mIndex[1]] + + b * tc[tri->mIndex[2]]); + + } + + if (mNormal != NULL) + { + LLVector4* norm = (LLVector4*) mFace->mNormals; + + *mNormal = ((1.f - a - b) * LLVector3(norm[tri->mIndex[0]]) + + a * LLVector3(norm[tri->mIndex[1]]) + + b * LLVector3(norm[tri->mIndex[2]])); + } + + if (mBinormal != NULL) + { + LLVector4* binormal = (LLVector4*) mFace->mBinormals; + *mBinormal = ((1.f - a - b) * LLVector3(binormal[tri->mIndex[0]]) + + a * LLVector3(binormal[tri->mIndex[1]]) + + b * LLVector3(binormal[tri->mIndex[2]])); + } + } + } + } +} + +const LLVector4a& LLVolumeTriangle::getPositionGroup() const +{ + return *mPositionGroup; +} + +const F32& LLVolumeTriangle::getBinRadius() const +{ + return mRadius; +} + + diff --git a/indra/llmath/llvolumeoctree.h b/indra/llmath/llvolumeoctree.h new file mode 100644 index 0000000000..0031626498 --- /dev/null +++ b/indra/llmath/llvolumeoctree.h @@ -0,0 +1,138 @@ +/** + * @file llvolumeoctree.h + * @brief LLVolume octree classes. + * + * $LicenseInfo:firstyear=2002&license=viewergpl$ + * + * Copyright (c) 2002-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLVOLUME_OCTREE_H +#define LL_LLVOLUME_OCTREE_H + +#include "linden_common.h" +#include "llmemory.h" + +#include "lloctree.h" +#include "llvolume.h" +#include "llvector4a.h" + +class LLVolumeOctreeListener : public LLOctreeListener +{ +public: + + LLVolumeOctreeListener(LLOctreeNode* node); + ~LLVolumeOctreeListener(); + + LLVolumeOctreeListener(const LLVolumeOctreeListener& rhs) + { + *this = rhs; + } + + const LLVolumeOctreeListener& operator=(const LLVolumeOctreeListener& rhs) + { + llerrs << "Illegal operation!" << llendl; + return *this; + } + + //LISTENER FUNCTIONS + virtual void handleChildAddition(const LLOctreeNode* parent, + LLOctreeNode* child); + virtual void handleStateChange(const LLTreeNode* node) { } + virtual void handleChildRemoval(const LLOctreeNode* parent, + const LLOctreeNode* child) { } + virtual void handleInsertion(const LLTreeNode* node, LLVolumeTriangle* tri) { } + virtual void handleRemoval(const LLTreeNode* node, LLVolumeTriangle* tri) { } + virtual void handleDestruction(const LLTreeNode* node) { } + + +public: + LLVector4a* mBounds; // bounding box (center, size) of this node and all its children (tight fit to objects) + LLVector4a* mExtents; // extents (min, max) of this node and all its children +}; + +class LLOctreeTriangleRayIntersect : public LLOctreeTraveler +{ +public: + const LLVolumeFace* mFace; + LLVector4a mStart; + LLVector4a mDir; + LLVector4a mEnd; + LLVector3* mIntersection; + LLVector2* mTexCoord; + LLVector3* mNormal; + LLVector3* mBinormal; + F32* mClosestT; + bool mHitFace; + + LLOctreeTriangleRayIntersect() { }; + + LLOctreeTriangleRayIntersect(const LLVector4a& start, const LLVector4a& dir, + const LLVolumeFace* face, F32* closest_t, + LLVector3* intersection,LLVector2* tex_coord, LLVector3* normal, LLVector3* bi_normal); + + void traverse(const LLOctreeNode* node); + + virtual void visit(const LLOctreeNode* node); +}; + +class LLVolumeTriangle : public LLRefCount +{ +public: + LLVolumeTriangle() + { + mPositionGroup = (LLVector4a*) ll_aligned_malloc_16(16); + } + + LLVolumeTriangle(const LLVolumeTriangle& rhs) + { + *this = rhs; + } + + const LLVolumeTriangle& operator=(const LLVolumeTriangle& rhs) + { + llerrs << "Illegal operation!" << llendl; + return *this; + } + + ~LLVolumeTriangle() + { + ll_aligned_free_16(mPositionGroup); + } + + const LLVector4a* mV[3]; + U16 mIndex[3]; + + LLVector4a* mPositionGroup; + + F32 mRadius; + + virtual const LLVector4a& getPositionGroup() const; + virtual const F32& getBinRadius() const; +}; + + +#endif diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp new file mode 100644 index 0000000000..82765c740f --- /dev/null +++ b/indra/llprimitive/llmodel.cpp @@ -0,0 +1,1695 @@ +/** + * @file llmodel.cpp + * @brief Model handling implementation + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2007, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlife.com/developers/opensource/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at http://secondlife.com/developers/opensource/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "linden_common.h" + +#include "llmodel.h" +#include "llsdserialize.h" +#include "llvector4a.h" + +#include "dae.h" +#include "dae/daeErrorHandler.h" +#include "dom/domConstants.h" +#include "dom/domMesh.h" +#include "zlib/zlib.h" + +#if LL_MESH_ENABLED + +std::string model_names[] = +{ + "lowest_lod", + "low_lod", + "medium_lod", + "high_lod", + "physics_shape" +}; + +const int MODEL_NAMES_LENGTH = sizeof(model_names) / sizeof(std::string); + +LLModel::LLModel(LLVolumeParams& params, F32 detail) + : LLVolume(params, detail), mNormalizedScale(1,1,1), mNormalizedTranslation(0,0,0) +{ + +} + +void load_face_from_dom_inputs(LLVolumeFace& face, const domInputLocalOffset_Array& inputs, U32 min_idx, U32 max_idx) +{ + for (U32 j = 0; j < inputs.getCount(); ++j) + { + if (strcmp(COMMON_PROFILE_INPUT_VERTEX, inputs[j]->getSemantic()) == 0) + { //found vertex array + const domURIFragmentType& uri = inputs[j]->getSource(); + daeElementRef elem = uri.getElement(); + domVertices* vertices = (domVertices*) elem.cast(); + + domInputLocal_Array& v_inp = vertices->getInput_array(); + if (inputs[j]->getOffset() != 0) + { + llerrs << "WTF?" << llendl; + } + + for (U32 k = 0; k < v_inp.getCount(); ++k) + { + if (strcmp(COMMON_PROFILE_INPUT_POSITION, v_inp[k]->getSemantic()) == 0) + { + const domURIFragmentType& uri = v_inp[k]->getSource(); + + daeElementRef elem = uri.getElement(); + domSource* src = (domSource*) elem.cast(); + + if (src->getTechnique_common()->getAccessor()->getStride() != 3) + { + llerrs << "WTF?" << llendl; + } + + domListOfFloats& v = src->getFloat_array()->getValue(); + + LLVector4a min; + min.set(v[min_idx], v[min_idx+1], v[min_idx+2]); + LLVector4a max = min; + + for (U32 j = min_idx; j <= max_idx; ++j) + { //copy vertex array + face.mPositions[j-min_idx].set(v[j*3+0], v[j*3+1], v[j*3+2]); + update_min_max(min, max, face.mPositions[j-min_idx]); + } + + face.mExtents[0] = min; + face.mExtents[1] = max; + } + } + } + + if (strcmp(COMMON_PROFILE_INPUT_NORMAL, inputs[j]->getSemantic()) == 0) + { + //found normal array for this triangle list + const domURIFragmentType& uri = inputs[j]->getSource(); + daeElementRef elem = uri.getElement(); + domSource* src = (domSource*) elem.cast(); + domListOfFloats& n = src->getFloat_array()->getValue(); + + for (U32 j = min_idx; j <= max_idx; ++j) + { + LLVector4a* norm = (LLVector4a*) face.mNormals + (j-min_idx); + norm->set(n[j*3+0], n[j*3+1], n[j*3+2]); + norm->normalize3fast(); + } + } + else if (strcmp(COMMON_PROFILE_INPUT_TEXCOORD, inputs[j]->getSemantic()) == 0) + { //found texCoords + const domURIFragmentType& uri = inputs[j]->getSource(); + daeElementRef elem = uri.getElement(); + domSource* src = (domSource*) elem.cast(); + domListOfFloats& u = src->getFloat_array()->getValue(); + + for (U32 j = min_idx; j <= max_idx; ++j) + { + face.mTexCoords[j-min_idx].setVec(u[j*2+0], u[j*2+1]); + } + } + } +} + +void get_dom_sources(const domInputLocalOffset_Array& inputs, S32& pos_offset, S32& tc_offset, S32& norm_offset, S32 &idx_stride, + domSource* &pos_source, domSource* &tc_source, domSource* &norm_source) +{ + idx_stride = 0; + + for (U32 j = 0; j < inputs.getCount(); ++j) + { + idx_stride = llmax((S32) inputs[j]->getOffset(), idx_stride); + + if (strcmp(COMMON_PROFILE_INPUT_VERTEX, inputs[j]->getSemantic()) == 0) + { //found vertex array + const domURIFragmentType& uri = inputs[j]->getSource(); + daeElementRef elem = uri.getElement(); + domVertices* vertices = (domVertices*) elem.cast(); + + domInputLocal_Array& v_inp = vertices->getInput_array(); + + + for (U32 k = 0; k < v_inp.getCount(); ++k) + { + if (strcmp(COMMON_PROFILE_INPUT_POSITION, v_inp[k]->getSemantic()) == 0) + { + pos_offset = inputs[j]->getOffset(); + + const domURIFragmentType& uri = v_inp[k]->getSource(); + daeElementRef elem = uri.getElement(); + pos_source = (domSource*) elem.cast(); + } + + if (strcmp(COMMON_PROFILE_INPUT_NORMAL, v_inp[k]->getSemantic()) == 0) + { + norm_offset = inputs[j]->getOffset(); + + const domURIFragmentType& uri = v_inp[k]->getSource(); + daeElementRef elem = uri.getElement(); + norm_source = (domSource*) elem.cast(); + } + } + } + + if (strcmp(COMMON_PROFILE_INPUT_NORMAL, inputs[j]->getSemantic()) == 0) + { + //found normal array for this triangle list + norm_offset = inputs[j]->getOffset(); + const domURIFragmentType& uri = inputs[j]->getSource(); + daeElementRef elem = uri.getElement(); + norm_source = (domSource*) elem.cast(); + } + else if (strcmp(COMMON_PROFILE_INPUT_TEXCOORD, inputs[j]->getSemantic()) == 0) + { //found texCoords + tc_offset = inputs[j]->getOffset(); + const domURIFragmentType& uri = inputs[j]->getSource(); + daeElementRef elem = uri.getElement(); + tc_source = (domSource*) elem.cast(); + } + } + + idx_stride += 1; +} + +void load_face_from_dom_triangles(std::vector& face_list, std::vector& materials, domTrianglesRef& tri) +{ + LLVolumeFace face; + std::vector verts; + std::vector indices; + + const domInputLocalOffset_Array& inputs = tri->getInput_array(); + + S32 pos_offset = -1; + S32 tc_offset = -1; + S32 norm_offset = -1; + + domSource* pos_source = NULL; + domSource* tc_source = NULL; + domSource* norm_source = NULL; + + S32 idx_stride = 0; + + get_dom_sources(inputs, pos_offset, tc_offset, norm_offset, idx_stride, pos_source, tc_source, norm_source); + + domPRef p = tri->getP(); + domListOfUInts& idx = p->getValue(); + + domListOfFloats v; + domListOfFloats tc; + domListOfFloats n; + + if (pos_source) + { + v = pos_source->getFloat_array()->getValue(); + face.mExtents[0].set(v[0], v[1], v[2]); + face.mExtents[1].set(v[0], v[1], v[2]); + } + + if (tc_source) + { + tc = tc_source->getFloat_array()->getValue(); + } + + if (norm_source) + { + n = norm_source->getFloat_array()->getValue(); + } + + + LLVolumeFace::VertexMapData::PointMap point_map; + + for (U32 i = 0; i < idx.getCount(); i += idx_stride) + { + LLVolumeFace::VertexData cv; + if (pos_source) + { + cv.setPosition(LLVector4a(v[idx[i+pos_offset]*3+0], + v[idx[i+pos_offset]*3+1], + v[idx[i+pos_offset]*3+2])); + } + + if (tc_source) + { + cv.mTexCoord.setVec(tc[idx[i+tc_offset]*2+0], + tc[idx[i+tc_offset]*2+1]); + } + + if (norm_source) + { + cv.setNormal(LLVector4a(n[idx[i+norm_offset]*3+0], + n[idx[i+norm_offset]*3+1], + n[idx[i+norm_offset]*3+2])); + } + + + BOOL found = FALSE; + + LLVolumeFace::VertexMapData::PointMap::iterator point_iter; + point_iter = point_map.find(LLVector3(cv.getPosition().getF32ptr())); + + if (point_iter != point_map.end()) + { + for (U32 j = 0; j < point_iter->second.size(); ++j) + { + if ((point_iter->second)[j] == cv) + { + found = TRUE; + indices.push_back((point_iter->second)[j].mIndex); + break; + } + } + } + + if (!found) + { + update_min_max(face.mExtents[0], face.mExtents[1], cv.getPosition()); + verts.push_back(cv); + if (verts.size() >= 65535) + { + llerrs << "Attempted to write model exceeding 16-bit index buffer limitation." << llendl; + } + U16 index = (U16) (verts.size()-1); + indices.push_back(index); + + LLVolumeFace::VertexMapData d; + d.setPosition(cv.getPosition()); + d.mTexCoord = cv.mTexCoord; + d.setNormal(cv.getNormal()); + d.mIndex = index; + if (point_iter != point_map.end()) + { + point_iter->second.push_back(d); + } + else + { + point_map[LLVector3(d.getPosition().getF32ptr())].push_back(d); + } + } + + if (indices.size()%3 == 0 && verts.size() >= 65532) + { + face_list.push_back(face); + face_list.rbegin()->fillFromLegacyData(verts, indices); + face = LLVolumeFace(); + point_map.clear(); + } + + } + + if (!verts.empty()) + { + std::string material; + + if (tri->getMaterial()) + { + material = std::string(tri->getMaterial()); + } + + materials.push_back(material); + face_list.push_back(face); + + face_list.rbegin()->fillFromLegacyData(verts, indices); + } + +} + +void load_face_from_dom_polylist(std::vector& face_list, std::vector& materials, domPolylistRef& poly) +{ + domPRef p = poly->getP(); + domListOfUInts& idx = p->getValue(); + + if (idx.getCount() == 0) + { + return; + } + + const domInputLocalOffset_Array& inputs = poly->getInput_array(); + + + domListOfUInts& vcount = poly->getVcount()->getValue(); + + S32 pos_offset = -1; + S32 tc_offset = -1; + S32 norm_offset = -1; + + domSource* pos_source = NULL; + domSource* tc_source = NULL; + domSource* norm_source = NULL; + + S32 idx_stride = 0; + + get_dom_sources(inputs, pos_offset, tc_offset, norm_offset, idx_stride, pos_source, tc_source, norm_source); + + LLVolumeFace face; + + std::vector indices; + std::vector verts; + + domListOfFloats v; + domListOfFloats tc; + domListOfFloats n; + + if (pos_source) + { + v = pos_source->getFloat_array()->getValue(); + face.mExtents[0].set(v[0], v[1], v[2]); + face.mExtents[1].set(v[0], v[1], v[2]); + } + + if (tc_source) + { + tc = tc_source->getFloat_array()->getValue(); + } + + if (norm_source) + { + n = norm_source->getFloat_array()->getValue(); + } + + LLVolumeFace::VertexMapData::PointMap point_map; + + U32 cur_idx = 0; + for (U32 i = 0; i < vcount.getCount(); ++i) + { //for each polygon + U32 first_index = 0; + U32 last_index = 0; + for (U32 j = 0; j < vcount[i]; ++j) + { //for each vertex + + LLVolumeFace::VertexData cv; + + if (pos_source) + { + cv.getPosition().set(v[idx[cur_idx+pos_offset]*3+0], + v[idx[cur_idx+pos_offset]*3+1], + v[idx[cur_idx+pos_offset]*3+2]); + } + + if (tc_source) + { + cv.mTexCoord.setVec(tc[idx[cur_idx+tc_offset]*2+0], + tc[idx[cur_idx+tc_offset]*2+1]); + } + + if (norm_source) + { + cv.getNormal().set(n[idx[cur_idx+norm_offset]*3+0], + n[idx[cur_idx+norm_offset]*3+1], + n[idx[cur_idx+norm_offset]*3+2]); + } + + cur_idx += idx_stride; + + BOOL found = FALSE; + + LLVolumeFace::VertexMapData::PointMap::iterator point_iter; + LLVector3 pos3(cv.getPosition().getF32ptr()); + point_iter = point_map.find(pos3); + + if (point_iter != point_map.end()) + { + for (U32 k = 0; k < point_iter->second.size(); ++k) + { + if ((point_iter->second)[k] == cv) + { + found = TRUE; + U32 index = (point_iter->second)[k].mIndex; + if (j == 0) + { + first_index = index; + } + else if (j == 1) + { + last_index = index; + } + else + { + indices.push_back(first_index); + indices.push_back(last_index); + indices.push_back(index); + last_index = index; + } + + break; + } + } + } + + if (!found) + { + update_min_max(face.mExtents[0], face.mExtents[1], cv.getPosition()); + verts.push_back(cv); + if (verts.size() >= 65535) + { + llerrs << "Attempted to write model exceeding 16-bit index buffer limitation." << llendl; + } + U16 index = (U16) (verts.size()-1); + + if (j == 0) + { + first_index = index; + } + else if (j == 1) + { + last_index = index; + } + else + { + indices.push_back(first_index); + indices.push_back(last_index); + indices.push_back(index); + last_index = index; + } + + LLVolumeFace::VertexMapData d; + d.setPosition(cv.getPosition()); + d.mTexCoord = cv.mTexCoord; + d.setNormal(cv.getNormal()); + d.mIndex = index; + if (point_iter != point_map.end()) + { + point_iter->second.push_back(d); + } + else + { + point_map[pos3].push_back(d); + } + } + + if (indices.size()%3 == 0 && indices.size() >= 65532) + { + face_list.push_back(face); + face_list.rbegin()->fillFromLegacyData(verts, indices); + face = LLVolumeFace(); + verts.clear(); + indices.clear(); + point_map.clear(); + } + } + } + + if (!verts.empty()) + { + std::string material; + + if (poly->getMaterial()) + { + material = std::string(poly->getMaterial()); + } + + materials.push_back(material); + face_list.push_back(face); + face_list.rbegin()->fillFromLegacyData(verts, indices); + } +} + +void load_face_from_dom_polygons(std::vector& face_list, std::vector& materials, domPolygonsRef& poly) +{ + LLVolumeFace face; + std::vector indices; + std::vector verts; + + const domInputLocalOffset_Array& inputs = poly->getInput_array(); + + + S32 v_offset = -1; + S32 n_offset = -1; + S32 t_offset = -1; + + domListOfFloats* v = NULL; + domListOfFloats* n = NULL; + domListOfFloats* t = NULL; + + U32 stride = 0; + for (U32 i = 0; i < inputs.getCount(); ++i) + { + stride = llmax((U32) inputs[i]->getOffset()+1, stride); + + if (strcmp(COMMON_PROFILE_INPUT_VERTEX, inputs[i]->getSemantic()) == 0) + { //found vertex array + v_offset = inputs[i]->getOffset(); + + const domURIFragmentType& uri = inputs[i]->getSource(); + daeElementRef elem = uri.getElement(); + domVertices* vertices = (domVertices*) elem.cast(); + + domInputLocal_Array& v_inp = vertices->getInput_array(); + + for (U32 k = 0; k < v_inp.getCount(); ++k) + { + if (strcmp(COMMON_PROFILE_INPUT_POSITION, v_inp[k]->getSemantic()) == 0) + { + const domURIFragmentType& uri = v_inp[k]->getSource(); + daeElementRef elem = uri.getElement(); + domSource* src = (domSource*) elem.cast(); + v = &(src->getFloat_array()->getValue()); + } + } + } + else if (strcmp(COMMON_PROFILE_INPUT_NORMAL, inputs[i]->getSemantic()) == 0) + { + n_offset = inputs[i]->getOffset(); + //found normal array for this triangle list + const domURIFragmentType& uri = inputs[i]->getSource(); + daeElementRef elem = uri.getElement(); + domSource* src = (domSource*) elem.cast(); + n = &(src->getFloat_array()->getValue()); + } + else if (strcmp(COMMON_PROFILE_INPUT_TEXCOORD, inputs[i]->getSemantic()) == 0 && inputs[i]->getSet() == 0) + { //found texCoords + t_offset = inputs[i]->getOffset(); + const domURIFragmentType& uri = inputs[i]->getSource(); + daeElementRef elem = uri.getElement(); + domSource* src = (domSource*) elem.cast(); + t = &(src->getFloat_array()->getValue()); + } + } + + domP_Array& ps = poly->getP_array(); + + //make a triangle list in + for (U32 i = 0; i < ps.getCount(); ++i) + { //for each polygon + domListOfUInts& idx = ps[i]->getValue(); + for (U32 j = 0; j < idx.getCount()/stride; ++j) + { //for each vertex + if (j > 2) + { + U32 size = verts.size(); + LLVolumeFace::VertexData v0 = verts[size-3]; + LLVolumeFace::VertexData v1 = verts[size-1]; + + verts.push_back(v0); + verts.push_back(v1); + } + + LLVolumeFace::VertexData vert; + + + if (v) + { + U32 v_idx = idx[j*stride+v_offset]*3; + vert.getPosition().set(v->get(v_idx), + v->get(v_idx+1), + v->get(v_idx+2)); + } + + if (n) + { + U32 n_idx = idx[j*stride+n_offset]*3; + vert.getNormal().set(n->get(n_idx), + n->get(n_idx+1), + n->get(n_idx+2)); + } + + if (t) + { + U32 t_idx = idx[j*stride+t_offset]*2; + vert.mTexCoord.setVec(t->get(t_idx), + t->get(t_idx+1)); + } + + + verts.push_back(vert); + } + } + + if (verts.empty()) + { + return; + } + + face.mExtents[0] = verts[0].getPosition(); + face.mExtents[1] = verts[0].getPosition(); + + //create a map of unique vertices to indices + std::map vert_idx; + + U32 cur_idx = 0; + for (U32 i = 0; i < verts.size(); ++i) + { + std::map::iterator iter = vert_idx.find(verts[i]); + if (iter == vert_idx.end()) + { + vert_idx[verts[i]] = cur_idx++; + } + } + + //build vertex array from map + verts.resize(vert_idx.size()); + + for (std::map::iterator iter = vert_idx.begin(); iter != vert_idx.end(); ++iter) + { + verts[iter->second] = iter->first; + update_min_max(face.mExtents[0], face.mExtents[1], iter->first.getPosition()); + } + + //build index array from map + indices.resize(verts.size()); + + for (U32 i = 0; i < verts.size(); ++i) + { + indices[i] = vert_idx[verts[i]]; + } + + + if (!verts.empty()) + { + std::string material; + + if (poly->getMaterial()) + { + material = std::string(poly->getMaterial()); + } + + materials.push_back(material); + face_list.push_back(face); + face_list.rbegin()->fillFromLegacyData(verts, indices); + } +} + +void LLModel::addVolumeFacesFromDomMesh(domMesh* mesh) +{ + domTriangles_Array& tris = mesh->getTriangles_array(); + + for (U32 i = 0; i < tris.getCount(); ++i) + { + domTrianglesRef& tri = tris.get(i); + + load_face_from_dom_triangles(mVolumeFaces, mMaterialList, tri); + } + + domPolylist_Array& polys = mesh->getPolylist_array(); + for (U32 i = 0; i < polys.getCount(); ++i) + { + domPolylistRef& poly = polys.get(i); + + load_face_from_dom_polylist(mVolumeFaces, mMaterialList, poly); + } + + domPolygons_Array& polygons = mesh->getPolygons_array(); + for (U32 i = 0; i < polygons.getCount(); ++i) + { + domPolygonsRef& poly = polygons.get(i); + + load_face_from_dom_polygons(mVolumeFaces, mMaterialList, poly); + } + +} + +BOOL LLModel::createVolumeFacesFromDomMesh(domMesh* mesh) +{ + if (mesh) + { + mVolumeFaces.clear(); + mMaterialList.clear(); + + addVolumeFacesFromDomMesh(mesh); + + if (getNumVolumeFaces() > 0) + { + optimizeVolumeFaces(); + normalizeVolumeFaces(); + + if (getNumVolumeFaces() > 0) + { + return TRUE; + } + } + } + else + { + llwarns << "no mesh found" << llendl; + } + + return FALSE; +} + + +BOOL LLModel::createVolumeFacesFromFile(const std::string& file_name) +{ + DAE dae; + domCOLLADA* dom = dae.open(file_name); + if (dom) + { + daeDatabase* db = dae.getDatabase(); + + daeInt count = db->getElementCount(NULL, COLLADA_TYPE_MESH); + + mVolumeFaces.clear(); + mMaterialList.clear(); + + for (daeInt idx = 0; idx < count; ++idx) + { + domMesh* mesh = NULL; + + db->getElement((daeElement**) &mesh, idx, NULL, COLLADA_TYPE_MESH); + + if (mesh) + { + addVolumeFacesFromDomMesh(mesh); + } + } + + if (getNumVolumeFaces() > 0) + { + optimizeVolumeFaces(); + normalizeVolumeFaces(); + return TRUE; + } + } + + return FALSE; +} + + +void LLModel::optimizeVolumeFaces() +{ +#if 0 //VECTORIZE ? + for (std::vector::iterator iter = mVolumeFaces.begin(); iter != mVolumeFaces.end(); ) + { + std::vector::iterator cur_iter = iter++; + LLVolumeFace& face = *cur_iter; + + for (S32 i = 0; i < (S32) face.mNumIndices; i += 3) + { //remove zero area triangles + U16 i0 = face.mIndices[i+0]; + U16 i1 = face.mIndices[i+1]; + U16 i2 = face.mIndices[i+2]; + + if (i0 == i1 || + i1 == i2 || + i0 == i2) + { //duplicate index in triangle, remove triangle + face.mIndices.erase(face.mIndices.begin()+i, face.mIndices.begin()+i+3); + i -= 3; + } + else + { + LLVolumeFace::VertexData& v0 = face.mVertices[i0]; + LLVolumeFace::VertexData& v1 = face.mVertices[i1]; + LLVolumeFace::VertexData& v2 = face.mVertices[i2]; + + if (v0.mPosition == v1.mPosition || + v1.mPosition == v2.mPosition || + v2.mPosition == v0.mPosition) + { //zero area triangle, delete + face.mIndices.erase(face.mIndices.begin()+i, face.mIndices.begin()+i+3); + i-=3; + } + } + } + + //remove unreference vertices + std::vector ref; + ref.resize(face.mNumVertices); + + for (U32 i = 0; i < ref.size(); ++i) + { + ref[i] = false; + } + + for (U32 i = 0; i < face.mNumIndices; ++i) + { + ref[face.mIndices[i]] = true; + } + + U32 unref_count = 0; + for (U32 i = 0; i < ref.size(); ++i) + { + if (!ref[i]) + { + //vertex is unreferenced + face.mVertices.erase(face.mVertices.begin()+(i-unref_count)); + U16 idx = (U16) (i-unref_count); + + for (U32 j = 0; j < face.mNumIndices; ++j) + { //decrement every index array value greater than idx + if (face.mIndices[j] > idx) + { + --face.mIndices[j]; + } + } + ++unref_count; + } + } + + if (face.mVertices.empty() || face.mIndices.empty()) + { //face is empty, remove it + iter = mVolumeFaces.erase(cur_iter); + } + } +#endif +} + +void LLModel::normalizeVolumeFaces() +{ + + // ensure we don't have too many faces + if (mVolumeFaces.size() > LL_SCULPT_MESH_MAX_FACES) + mVolumeFaces.resize(LL_SCULPT_MESH_MAX_FACES); + + if (!mVolumeFaces.empty()) + { + LLVector4a min, max; + + if (mVolumeFaces[0].mNumVertices <= 0) + { + llerrs << "WTF?" << llendl; + } + + min = mVolumeFaces[0].mExtents[0]; + max = mVolumeFaces[0].mExtents[1]; + + for (U32 i = 1; i < mVolumeFaces.size(); ++i) + { + LLVolumeFace& face = mVolumeFaces[i]; + + if (face.mNumVertices <= 0) + { + llerrs << "WTF?" << llendl; + } + + update_min_max(min, max, face.mExtents[0]); + update_min_max(min, max, face.mExtents[1]); + } + + LLVector4a trans; + trans.setAdd(min, max); + trans.mul(-0.5f); + LLVector4a size; + size.setSub(max, min); + + F32 scale = 1.f/llmax(llmax(size[0], size[1]), size[2]); + + for (U32 i = 0; i < mVolumeFaces.size(); ++i) + { + LLVolumeFace& face = mVolumeFaces[i]; + + face.mExtents[0].add(trans); + face.mExtents[0].mul(scale); + + face.mExtents[1].add(trans); + face.mExtents[1].mul(scale); + + LLVector4a* pos = (LLVector4a*) face.mPositions; + for (U32 j = 0; j < face.mNumVertices; ++j) + { + pos[j].add(trans); + pos[j].mul(scale); + } + } + + mNormalizedScale = LLVector3(1,1,1) / scale; + mNormalizedTranslation.set(trans.getF32ptr()); + mNormalizedTranslation *= -1.f; + } +} + +void LLModel::getNormalizedScaleTranslation(LLVector3& scale_out, LLVector3& translation_out) +{ + scale_out = mNormalizedScale; + translation_out = mNormalizedTranslation; +} + +void LLModel::setNumVolumeFaces(S32 count) +{ + mVolumeFaces.resize(count); +} + +void LLModel::setVolumeFaceData(S32 f, + LLStrider pos, + LLStrider norm, + LLStrider tc, + LLStrider ind, + U32 num_verts, + U32 num_indices) +{ + LLVolumeFace& face = mVolumeFaces[f]; + + face.resizeVertices(num_verts); + face.resizeIndices(num_indices); + + LLVector4a::memcpyNonAliased16((F32*) face.mPositions, (F32*) pos.get(), num_verts*4*sizeof(F32)); + LLVector4a::memcpyNonAliased16((F32*) face.mNormals, (F32*) norm.get(), num_verts*4*sizeof(F32)); + LLVector4a::memcpyNonAliased16((F32*) face.mTexCoords, (F32*) tc.get(), num_verts*2*sizeof(F32)); + U32 size = (num_indices*2+0xF)&~0xF; + LLVector4a::memcpyNonAliased16((F32*) face.mIndices, (F32*) ind.get(), size); +} + +void LLModel::appendFaces(LLModel *model, LLMatrix4 &transform, LLMatrix4& norm_mat) +{ + if (mVolumeFaces.empty()) + { + setNumVolumeFaces(1); + } + + LLVolumeFace& face = mVolumeFaces[mVolumeFaces.size()-1]; + + + for (S32 i = 0; i < model->getNumFaces(); ++i) + { + face.appendFace(model->getVolumeFace(i), transform, norm_mat); + } + +} + +void LLModel::appendFace(const LLVolumeFace& src_face, std::string src_material, LLMatrix4& mat, LLMatrix4& norm_mat) +{ + S32 rindex = getNumVolumeFaces()-1; + if (rindex == -1 || + mVolumeFaces[rindex].mNumVertices + src_face.mNumVertices >= 65536) + { //empty or overflow will occur, append new face + LLVolumeFace cur_face; + cur_face.appendFace(src_face, mat, norm_mat); + addFace(cur_face); + mMaterialList.push_back(src_material); + } + else + { //append to existing end face + mVolumeFaces.rbegin()->appendFace(src_face, mat, norm_mat); + } +} + +void LLModel::addFace(const LLVolumeFace& face) +{ + if (face.mNumVertices == 0) + { + llerrs << "Cannot add empty face." << llendl; + } + + mVolumeFaces.push_back(face); + + if (mVolumeFaces.size() > MAX_MODEL_FACES) + { + llerrs << "Model prims cannot have more than " << MAX_MODEL_FACES << " faces!" << llendl; + } +} + + +void LLModel::smoothNormals(F32 angle_cutoff) +{ + //smooth normals for all faces by: + // 1 - Create faceted copy of face with no texture coordinates + // 2 - Weld vertices in faceted copy that are shared between triangles with less than "angle_cutoff" difference between normals + // 3 - Generate smoothed set of normals based on welding results + // 4 - Create faceted copy of face with texture coordinates + // 5 - Copy smoothed normals to faceted copy, using closest normal to triangle normal where more than one normal exists for a given position + // 6 - Remove redundant vertices from new faceted (now smooth) copy + + angle_cutoff = cosf(angle_cutoff); + for (U32 j = 0; j < mVolumeFaces.size(); ++j) + { + LLVolumeFace& vol_face = mVolumeFaces[j]; + + //create faceted copy of current face with no texture coordinates (step 1) + LLVolumeFace faceted; + + LLVector4a* src_pos = (LLVector4a*) vol_face.mPositions; + //LLVector4a* src_norm = (LLVector4a*) vol_face.mNormals; + + + //bake out triangles into temporary face, clearing normals and texture coordinates + for (U32 i = 0; i < vol_face.mNumIndices; ++i) + { + U32 idx = vol_face.mIndices[i]; + LLVolumeFace::VertexData v; + v.setPosition(src_pos[idx]); + v.getNormal().clear(); + v.mTexCoord.clear(); + faceted.pushVertex(v); + faceted.pushIndex(i); + } + + //generate normals for temporary face + for (U32 i = 0; i < faceted.mNumIndices; i += 3) + { //for each triangle + U16 i0 = faceted.mIndices[i+0]; + U16 i1 = faceted.mIndices[i+1]; + U16 i2 = faceted.mIndices[i+2]; + + LLVector4a& p0 = faceted.mPositions[i0]; + LLVector4a& p1 = faceted.mPositions[i1]; + LLVector4a& p2 = faceted.mPositions[i2]; + + LLVector4a& n0 = faceted.mNormals[i0]; + LLVector4a& n1 = faceted.mNormals[i1]; + LLVector4a& n2 = faceted.mNormals[i2]; + + LLVector4a lhs, rhs; + lhs.setSub(p1, p0); + rhs.setSub(p2, p0); + + n0.setCross3(lhs, rhs); + n0.normalize3fast(); + n1 = n0; + n2 = n0; + } + + //weld vertices in temporary face, respecting angle_cutoff (step 2) + faceted.optimize(angle_cutoff); + + //generate normals for welded face based on new topology (step 3) + + for (U32 i = 0; i < faceted.mNumVertices; i++) + { + faceted.mNormals[i].clear(); + } + + for (U32 i = 0; i < faceted.mNumIndices; i += 3) + { //for each triangle + U16 i0 = faceted.mIndices[i+0]; + U16 i1 = faceted.mIndices[i+1]; + U16 i2 = faceted.mIndices[i+2]; + + LLVector4a& p0 = faceted.mPositions[i0]; + LLVector4a& p1 = faceted.mPositions[i1]; + LLVector4a& p2 = faceted.mPositions[i2]; + + LLVector4a& n0 = faceted.mNormals[i0]; + LLVector4a& n1 = faceted.mNormals[i1]; + LLVector4a& n2 = faceted.mNormals[i2]; + + LLVector4a lhs, rhs; + lhs.setSub(p1, p0); + rhs.setSub(p2, p0); + + LLVector4a n; + n.setCross3(lhs, rhs); + + n0.add(n); + n1.add(n); + n2.add(n); + } + + //normalize normals and build point map + LLVolumeFace::VertexMapData::PointMap point_map; + + for (U32 i = 0; i < faceted.mNumVertices; ++i) + { + faceted.mNormals[i].normalize3fast(); + + LLVolumeFace::VertexMapData v; + v.setPosition(faceted.mPositions[i]); + v.setNormal(faceted.mNormals[i]); + + point_map[LLVector3(v.getPosition().getF32ptr())].push_back(v); + } + + //create faceted copy of current face with texture coordinates (step 4) + LLVolumeFace new_face; + + //bake out triangles into new face + for (U32 i = 0; i < vol_face.mNumIndices; ++i) + { + U32 idx = vol_face.mIndices[i]; + LLVolumeFace::VertexData v; + v.setPosition(vol_face.mPositions[idx]); + v.setNormal(vol_face.mNormals[idx]); + v.mTexCoord = vol_face.mTexCoords[idx]; + + new_face.pushVertex(v); + new_face.pushIndex(i); + } + + //generate normals for new face + for (U32 i = 0; i < new_face.mNumIndices; i += 3) + { //for each triangle + U16 i0 = new_face.mIndices[i+0]; + U16 i1 = new_face.mIndices[i+1]; + U16 i2 = new_face.mIndices[i+2]; + + LLVector4a& p0 = new_face.mPositions[i0]; + LLVector4a& p1 = new_face.mPositions[i1]; + LLVector4a& p2 = new_face.mPositions[i2]; + + LLVector4a& n0 = new_face.mNormals[i0]; + LLVector4a& n1 = new_face.mNormals[i1]; + LLVector4a& n2 = new_face.mNormals[i2]; + + LLVector4a lhs, rhs; + lhs.setSub(p1, p0); + rhs.setSub(p2, p0); + + n0.setCross3(lhs, rhs); + n0.normalize3fast(); + n1 = n0; + n2 = n0; + } + + //swap out normals in new_face with best match from point map (step 5) + for (U32 i = 0; i < new_face.mNumVertices; ++i) + { + //LLVolumeFace::VertexData v = new_face.mVertices[i]; + + LLVector4a ref_norm = new_face.mNormals[i]; + + LLVolumeFace::VertexMapData::PointMap::iterator iter = point_map.find(LLVector3(new_face.mPositions[i].getF32ptr())); + + if (iter != point_map.end()) + { + F32 best = -2.f; + for (U32 k = 0; k < iter->second.size(); ++k) + { + LLVector4a& n = iter->second[k].getNormal(); + + if (!iter->second[k].getPosition().equals3(new_face.mPositions[i])) + { + llerrs << "WTF?" << llendl; + } + + F32 cur = n.dot3(ref_norm).getF32(); + + if (cur > best) + { + best = cur; + new_face.mNormals[i] = n; + } + } + } + } + + //remove redundant vertices from new face (step 6) + new_face.optimize(); + + mVolumeFaces[j] = new_face; + } +} + +//static +std::string LLModel::getElementLabel(daeElement *element) +{ // try to get a decent label for this element + // if we have a name attribute, use it + std::string name = element->getAttribute("name"); + if (name.length()) + { + return name; + } + + // if we have an ID attribute, use it + if (element->getID()) + { + return std::string(element->getID()); + } + + // if we have a parent, use it + daeElement* parent = element->getParent(); + if (parent) + { + // if parent has a name, use it + std::string name = parent->getAttribute("name"); + if (name.length()) + { + return name; + } + + // if parent has an ID, use it + if (parent->getID()) + { + return std::string(parent->getID()); + } + } + + // try to use our type + daeString element_name = element->getElementName(); + if (element_name) + { + return std::string(element_name); + } + + // if all else fails, use "object" + return std::string("object"); +} + +//static +LLModel* LLModel::loadModelFromDae(std::string filename) +{ + LLVolumeParams volume_params; + volume_params.setType(LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE); + LLModel* ret = new LLModel(volume_params, 0.f); + ret->createVolumeFacesFromFile(filename); + return ret; +} + +//static +LLModel* LLModel::loadModelFromDomMesh(domMesh *mesh) +{ + LLVolumeParams volume_params; + volume_params.setType(LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE); + LLModel* ret = new LLModel(volume_params, 0.f); + ret->createVolumeFacesFromDomMesh(mesh); + ret->mLabel = getElementLabel(mesh); + return ret; +} + +//static +LLSD LLModel::writeModel(std::string filename, LLModel* physics, LLModel* high, LLModel* medium, LLModel* low, LLModel* impostor, LLModel::physics_shape& decomp, BOOL nowrite) +{ + std::ofstream os(filename.c_str(), std::ofstream::out | std::ofstream::binary); + + LLSD header = writeModel(os, physics, high, medium, low, impostor, decomp, nowrite); + + os.close(); + + return header; +} + +//static +LLSD LLModel::writeModel(std::ostream& ostr, LLModel* physics, LLModel* high, LLModel* medium, LLModel* low, LLModel* impostor, LLModel::physics_shape& decomp, BOOL nowrite) +{ + LLSD mdl; + + LLModel* model[] = + { + impostor, + low, + medium, + high, + physics + }; + + bool skinning = high && !high->mSkinWeights.empty(); + + if (skinning) + { //write skinning block + if (high->mJointList.size() != high->mInvBindMatrix.size()) + { + llerrs << "WTF?" << llendl; + } + + for (U32 i = 0; i < high->mJointList.size(); ++i) + { + mdl["skin"]["joint_names"][i] = high->mJointList[i]; + + for (U32 j = 0; j < 4; j++) + { + for (U32 k = 0; k < 4; k++) + { + mdl["skin"]["inverse_bind_matrix"][i][j*4+k] = high->mInvBindMatrix[i].mMatrix[j][k]; + } + } + } + + for (U32 i = 0; i < 4; i++) + { + for (U32 j = 0; j < 4; j++) + { + mdl["skin"]["bind_shape_matrix"][i*4+j] = high->mBindShapeMatrix.mMatrix[i][j]; + } + } + } + + if (!decomp.empty()) + { + //write decomposition block + // ["decomposition"]["HullList"] -- list of 8 bit integers, each entry represents a hull with specified number of points + // ["decomposition"]["PositionDomain"]["Min"/"Max"] + // ["decomposition"]["Position"] -- list of 16-bit integers to be decoded to given domain, encoded 3D points + + //get minimum and maximum + LLVector3 min = decomp[0][0]; + LLVector3 max = min; + + LLSD::Binary hulls(decomp.size()); + + U32 total = 0; + + for (U32 i = 0; i < decomp.size(); ++i) + { + U32 size = decomp[i].size(); + total += size; + hulls[i] = (U8) size; + + for (U32 j = 0; j < decomp[i].size(); ++j) + { + update_min_max(min, max, decomp[i][j]); + } + } + + mdl["decomposition"]["Min"] = min.getValue(); + mdl["decomposition"]["Max"] = max.getValue(); + mdl["decomposition"]["HullList"] = hulls; + + LLSD::Binary p(total*3*2); + + LLVector3 range = max-min; + + U32 vert_idx = 0; + for (U32 i = 0; i < decomp.size(); ++i) + { + for (U32 j = 0; j < decomp[i].size(); ++j) + { + for (U32 k = 0; k < 3; k++) + { + //convert to 16-bit normalized across domain + U16 val = (U16) (((decomp[i][j].mV[k]-min.mV[k])/range.mV[k])*65535); + + U8* buff = (U8*) &val; + //write to binary buffer + p[vert_idx++] = buff[0]; + p[vert_idx++] = buff[1]; + + if (vert_idx > p.size()) + { + llerrs << "WTF?" << llendl; + } + } + } + } + + mdl["decomposition"]["Position"] = p; + } + + for (U32 idx = 0; idx < MODEL_NAMES_LENGTH; ++idx) + { + if (model[idx] && model[idx]->getNumVolumeFaces() > 0) + { + LLVector3 min_pos = LLVector3(model[idx]->getVolumeFace(0).mPositions[0].getF32ptr()); + LLVector3 max_pos = min_pos; + + //find position domain + for (S32 i = 0; i < model[idx]->getNumVolumeFaces(); ++i) + { //for each face + const LLVolumeFace& face = model[idx]->getVolumeFace(i); + for (U32 j = 0; j < face.mNumVertices; ++j) + { + update_min_max(min_pos, max_pos, face.mPositions[j].getF32ptr()); + } + } + + LLVector3 pos_range = max_pos - min_pos; + + for (S32 i = 0; i < model[idx]->getNumVolumeFaces(); ++i) + { //for each face + const LLVolumeFace& face = model[idx]->getVolumeFace(i); + if (!face.mNumVertices) + { //don't export an empty face + continue; + } + LLSD::Binary verts(face.mNumVertices*3*2); + LLSD::Binary tc(face.mNumVertices*2*2); + LLSD::Binary normals(face.mNumVertices*3*2); + LLSD::Binary indices(face.mNumIndices*2); + + U32 vert_idx = 0; + U32 norm_idx = 0; + U32 tc_idx = 0; + + LLVector2* ftc = (LLVector2*) face.mTexCoords; + LLVector2 min_tc = ftc[0]; + LLVector2 max_tc = min_tc; + + //get texture coordinate domain + for (U32 j = 0; j < face.mNumVertices; ++j) + { + update_min_max(min_tc, max_tc, ftc[j]); + } + + LLVector2 tc_range = max_tc - min_tc; + + for (U32 j = 0; j < face.mNumVertices; ++j) + { //for each vert + + F32* pos = face.mPositions[j].getF32ptr(); + F32* norm = face.mNormals[j].getF32ptr(); + + //position + normal + for (U32 k = 0; k < 3; ++k) + { //for each component + + //convert to 16-bit normalized across domain + U16 val = (U16) (((pos[k]-min_pos.mV[k])/pos_range.mV[k])*65535); + + U8* buff = (U8*) &val; + //write to binary buffer + verts[vert_idx++] = buff[0]; + verts[vert_idx++] = buff[1]; + + //convert to 16-bit normalized + val = (U16) ((norm[k]+1.f)*0.5f*65535); + + //write to binary buffer + normals[norm_idx++] = buff[0]; + normals[norm_idx++] = buff[1]; + } + + F32* src_tc = (F32*) face.mTexCoords[j].mV; + + //texcoord + for (U32 k = 0; k < 2; ++k) + { //for each component + //convert to 16-bit normalized + U16 val = (U16) ((src_tc[k]-min_tc.mV[k])/tc_range.mV[k]*65535); + + U8* buff = (U8*) &val; + //write to binary buffer + tc[tc_idx++] = buff[0]; + tc[tc_idx++] = buff[1]; + } + + } + + U32 idx_idx = 0; + for (U32 j = 0; j < face.mNumIndices; ++j) + { + U8* buff = (U8*) &(face.mIndices[j]); + indices[idx_idx++] = buff[0]; + indices[idx_idx++] = buff[1]; + } + + //write out face data + mdl[model_names[idx]][i]["PositionDomain"]["Min"] = min_pos.getValue(); + mdl[model_names[idx]][i]["PositionDomain"]["Max"] = max_pos.getValue(); + + mdl[model_names[idx]][i]["TexCoord0Domain"]["Min"] = min_tc.getValue(); + mdl[model_names[idx]][i]["TexCoord0Domain"]["Max"] = max_tc.getValue(); + + mdl[model_names[idx]][i]["Position"] = verts; + mdl[model_names[idx]][i]["Normal"] = normals; + mdl[model_names[idx]][i]["TexCoord0"] = tc; + mdl[model_names[idx]][i]["TriangleList"] = indices; + + if (skinning) + { + //write out skin weights + + //each influence list entry is up to 4 24-bit values + // first 8 bits is bone index + // last 16 bits is bone influence weight + // a bone index of 0xFF signifies no more influences for this vertex + + std::stringstream ostr; + + for (U32 j = 0; j < face.mNumVertices; ++j) + { + LLVector3 pos(face.mPositions[j].getF32ptr()); + + weight_list& weights = high->getJointInfluences(pos); + + if (weights.size() > 4) + { + llerrs << "WTF?" << llendl; + } + + S32 count = 0; + for (weight_list::iterator iter = weights.begin(); iter != weights.end(); ++iter) + { + if (iter->mJointIdx < 255 && iter->mJointIdx >= 0) + { + U8 idx = (U8) iter->mJointIdx; + ostr.write((const char*) &idx, 1); + + U16 influence = (U16) (iter->mWeight*65535); + ostr.write((const char*) &influence, 2); + + ++count; + } + } + U8 end_list = 0xFF; + if (count < 4) + { + ostr.write((const char*) &end_list, 1); + } + } + + //copy ostr to binary buffer + std::string data = ostr.str(); + const U8* buff = (U8*) data.data(); + U32 bytes = data.size(); + + LLSD::Binary w(bytes); + for (U32 j = 0; j < bytes; ++j) + { + w[j] = buff[j]; + } + + mdl[model_names[idx]][i]["Weights"] = w; + } + } + } + } + + return writeModelToStream(ostr, mdl, nowrite); +} + +LLSD LLModel::writeModelToStream(std::ostream& ostr, LLSD& mdl, BOOL nowrite) +{ + U32 bytes = 0; + + std::string::size_type cur_offset = 0; + + LLSD header; + + std::string skin; + + if (mdl.has("skin")) + { //write out skin block + skin = zip_llsd(mdl["skin"]); + + U32 size = skin.size(); + if (size > 0) + { + header["skin"]["offset"] = (LLSD::Integer) cur_offset; + header["skin"]["size"] = (LLSD::Integer) size; + cur_offset += size; + bytes += size; + } + else + { + llerrs << "WTF?" << llendl; + } + } + + std::string decomposition; + + if (mdl.has("decomposition")) + { //write out convex decomposition + decomposition = zip_llsd(mdl["decomposition"]); + + U32 size = decomposition.size(); + if (size > 0) + { + header["decomposition"]["offset"] = (LLSD::Integer) cur_offset; + header["decomposition"]["size"] = (LLSD::Integer) size; + cur_offset += size; + bytes += size; + } + } + + std::string out[MODEL_NAMES_LENGTH]; + + for (S32 i = 0; i < MODEL_NAMES_LENGTH; i++) + { + if (mdl.has(model_names[i])) + { + out[i] = zip_llsd(mdl[model_names[i]]); + + U32 size = out[i].size(); + + header[model_names[i]]["offset"] = (LLSD::Integer) cur_offset; + header[model_names[i]]["size"] = (LLSD::Integer) size; + cur_offset += size; + bytes += size; + } + else + { + header[model_names[i]]["offset"] = -1; + header[model_names[i]]["size"] = 0; + } + } + + if (!nowrite) + { + LLSDSerialize::serialize(header, ostr, LLSDSerialize::LLSD_BINARY); + + if (!skin.empty()) + { //write skin block + ostr.write((const char*) skin.data(), header["skin"]["size"].asInteger()); + } + + if (!decomposition.empty()) + { //write decomposition block + ostr.write((const char*) decomposition.data(), header["decomposition"]["size"].asInteger()); + } + + for (S32 i = 0; i < MODEL_NAMES_LENGTH; i++) + { + if (!out[i].empty()) + { + ostr.write((const char*) out[i].data(), header[model_names[i]]["size"].asInteger()); + } + } + } + + return header; +} + +//static +LLModel* LLModel::loadModelFromAsset(std::string filename, S32 lod) +{ + return NULL; +} + +LLModel::weight_list& LLModel::getJointInfluences(const LLVector3& pos) +{ + weight_map::iterator iter = mSkinWeights.find(pos); + + if (iter != mSkinWeights.end()) + { + if ((iter->first - pos).magVec() > 0.1f) + { + llerrs << "WTF?" << llendl; + } + + return iter->second; + } + else + { //no exact match found, get closest point + iter = mSkinWeights.begin(); + weight_map::iterator best = iter; + + F32 min_dist = (iter->first - pos).magVecSquared(); + + while (++iter != mSkinWeights.end()) + { + F32 dist = (iter->first - pos).magVecSquared(); + if (dist < min_dist) + { + best = iter; + min_dist = dist; + } + } + + return best->second; + } +} + +#endif + diff --git a/indra/llprimitive/llmodel.h b/indra/llprimitive/llmodel.h new file mode 100644 index 0000000000..a91c80d5b7 --- /dev/null +++ b/indra/llprimitive/llmodel.h @@ -0,0 +1,179 @@ +/** + * @file llmodel.h + * @brief Model handling class definitions + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2007, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlife.com/developers/opensource/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at http://secondlife.com/developers/opensource/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLMODEL_H +#define LL_LLMODEL_H + +#include "llvolume.h" +#include "v4math.h" +#include "m4math.h" + +#if LL_MESH_ENABLED + +class daeElement; +class domMesh; + +#define MAX_MODEL_FACES 8 + +class LLModel : public LLVolume +{ +public: + + enum + { + LOD_IMPOSTOR = 0, + LOD_LOW, + LOD_MEDIUM, + LOD_HIGH, + LOD_PHYSICS, + NUM_LODS + }; + + //physics shape is a vector of convex hulls + //each convex hull is a set of points + typedef std::vector > physics_shape; + + LLModel(LLVolumeParams& params, F32 detail); + static LLSD writeModel(std::string filename, LLModel* physics, LLModel* high, LLModel* medium, LLModel* low, LLModel* imposotr, LLModel::physics_shape& physics_shape, BOOL nowrite = FALSE); + static LLSD writeModel(std::ostream& ostr, LLModel* physics, LLModel* high, LLModel* medium, LLModel* low, LLModel* imposotr, LLModel::physics_shape& physics_shape, BOOL nowrite = FALSE); + static LLSD writeModelToStream(std::ostream& ostr, LLSD& mdl, BOOL nowrite = FALSE); + static LLModel* loadModelFromAsset(std::string filename, S32 lod); + static LLModel* loadModelFromDae(std::string filename); + static LLModel* loadModelFromDomMesh(domMesh* mesh); + static std::string getElementLabel(daeElement* element); + + void appendFaces(LLModel* model, LLMatrix4& transform, LLMatrix4& normal_transform); + void appendFace(const LLVolumeFace& src_face, std::string src_material, LLMatrix4& mat, LLMatrix4& norm_mat); + + void setNumVolumeFaces(S32 count); + void setVolumeFaceData(S32 f, + LLStrider pos, + LLStrider norm, + LLStrider tc, + LLStrider ind, + U32 num_verts, + U32 num_indices); + + void smoothNormals(F32 angle_cutoff); + + void addFace(const LLVolumeFace& face); + + void normalizeVolumeFaces(); + void optimizeVolumeFaces(); + + + U32 getResourceCost(); + void getNormalizedScaleTranslation(LLVector3& scale_out, LLVector3& translation_out); + std::vector mMaterialList; + + //data used for skin weights + class JointWeight + { + public: + S32 mJointIdx; + F32 mWeight; + + JointWeight() + { + mJointIdx = 0; + mWeight = 0.f; + } + + JointWeight(S32 idx, F32 weight) + : mJointIdx(idx), mWeight(weight) + { + } + + bool operator<(const JointWeight& rhs) const + { + if (mWeight == rhs.mWeight) + { + return mJointIdx < rhs.mJointIdx; + } + + return mWeight < rhs.mWeight; + } + + }; + + struct CompareWeightGreater + { + bool operator()(const JointWeight& lhs, const JointWeight& rhs) + { + return rhs < lhs; // strongest = first + } + }; + + //copy of position array for this model -- mPosition[idx].mV[X,Y,Z] + std::vector mPosition; + + //map of positions to skin weights --- mSkinWeights[pos].mV[0..4] == . + //joint_index corresponds to mJointList + typedef std::vector weight_list; + typedef std::map weight_map; + weight_map mSkinWeights; + + //get list of weight influences closest to given position + weight_list& getJointInfluences(const LLVector3& pos); + + //should always be true that mJointList[mJointMap["foo"]] == "foo" + + //map of joint names to joint index + std::map mJointMap; + + //list of joint names + std::vector mJointList; + + LLMatrix4 mBindShapeMatrix; + std::vector mInvBindMatrix; + + std::string mLabel; + + LLVector3 mNormalizedScale; + LLVector3 mNormalizedTranslation; + + //physics shape + physics_shape mPhysicsShape; + + LLVector3 mPhysicsCenter; + std::vector mHullCenter; + U32 mPhysicsPoints; + +protected: + void addVolumeFacesFromDomMesh(domMesh* mesh); + virtual BOOL createVolumeFacesFromFile(const std::string& file_name); + virtual BOOL createVolumeFacesFromDomMesh(domMesh *mesh); +}; + + +#endif + +#endif //LL_LLMODEL_H diff --git a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl new file mode 100644 index 0000000000..eef6556fba --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl @@ -0,0 +1,30 @@ +/** + * @file objectSkinV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#version 120 + +attribute vec4 object_weight; + +uniform mat4 matrixPalette[64]; + +mat4 getObjectSkinnedTransform() +{ + int i; + + vec4 w = fract(object_weight); + vec4 index = floor(object_weight); + + float scale = 1.0/(w.x+w.y+w.z+w.w); + w *= scale; + + mat4 mat = matrixPalette[int(index.x)]*w.x; + mat += matrixPalette[int(index.y)]*w.y; + mat += matrixPalette[int(index.z)]*w.z; + mat += matrixPalette[int(index.w)]*w.w; + + return mat; +} diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl new file mode 100644 index 0000000000..fde0e97713 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl @@ -0,0 +1,75 @@ +/** + * @file alphaSkinnedV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol); +mat4 getObjectSkinnedTransform(); +void calcAtmospherics(vec3 inPositionEye); + +float calcDirectionalLight(vec3 n, vec3 l); +float calcPointLightOrSpotLight(vec3 v, vec3 n, vec4 lp, vec3 ln, float la, float is_pointlight); + +vec3 atmosAmbient(vec3 light); +vec3 atmosAffectDirectionalLight(float lightIntensity); +vec3 scaleDownLight(vec3 light); +vec3 scaleUpLight(vec3 light); + +varying vec3 vary_position; +varying vec3 vary_ambient; +varying vec3 vary_directional; +varying vec3 vary_normal; +varying vec3 vary_light; + +void main() +{ + gl_TexCoord[0] = gl_MultiTexCoord0; + + vec4 pos; + vec3 norm; + + mat4 trans = getObjectSkinnedTransform(); + trans = gl_ModelViewMatrix * trans; + + pos = trans * gl_Vertex; + + norm = gl_Vertex.xyz + gl_Normal.xyz; + norm = normalize(( trans*vec4(norm, 1.0) ).xyz-pos.xyz); + + gl_Position = gl_ProjectionMatrix * pos; + + vary_position = pos.xyz; + vary_normal = norm; + + calcAtmospherics(pos.xyz); + + vec4 col = vec4(0.0, 0.0, 0.0, gl_Color.a); + + // Collect normal lights (need to be divided by two, as we later multiply by 2) + col.rgb += gl_LightSource[2].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[2].position, gl_LightSource[2].spotDirection.xyz, gl_LightSource[2].linearAttenuation, gl_LightSource[2].specular.a); + col.rgb += gl_LightSource[3].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[3].position, gl_LightSource[3].spotDirection.xyz, gl_LightSource[3].linearAttenuation, gl_LightSource[3].specular.a); + col.rgb += gl_LightSource[4].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[4].position, gl_LightSource[4].spotDirection.xyz, gl_LightSource[4].linearAttenuation, gl_LightSource[4].specular.a); + col.rgb += gl_LightSource[5].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[5].position, gl_LightSource[5].spotDirection.xyz, gl_LightSource[5].linearAttenuation, gl_LightSource[5].specular.a); + col.rgb += gl_LightSource[6].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[6].position, gl_LightSource[6].spotDirection.xyz, gl_LightSource[6].linearAttenuation, gl_LightSource[6].specular.a); + col.rgb += gl_LightSource[7].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[7].position, gl_LightSource[7].spotDirection.xyz, gl_LightSource[7].linearAttenuation, gl_LightSource[7].specular.a); + col.rgb += gl_LightSource[1].diffuse.rgb*calcDirectionalLight(norm, gl_LightSource[1].position.xyz); + col.rgb = scaleDownLight(col.rgb); + + // Add windlight lights + col.rgb += atmosAmbient(vec3(0.)); + + vary_light = gl_LightSource[0].position.xyz; + + vary_ambient = col.rgb*gl_Color.rgb; + vary_directional = gl_Color.rgb*atmosAffectDirectionalLight(max(calcDirectionalLight(norm, gl_LightSource[0].position.xyz), (1.0-gl_Color.a)*(1.0-gl_Color.a))); + + col.rgb = min(col.rgb*gl_Color.rgb, 1.0); + + gl_FrontColor = col; + + gl_FogFragCoord = pos.z; +} + + diff --git a/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowF.glsl new file mode 100644 index 0000000000..085ffddeec --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowF.glsl @@ -0,0 +1,16 @@ +/** + * @file avatarShadowF.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +uniform sampler2D diffuseMap; + + +void main() +{ + //gl_FragColor = vec4(1,1,1,gl_Color.a * texture2D(diffuseMap, gl_TexCoord[0].xy).a); + gl_FragColor = vec4(1,1,1,1); +} + diff --git a/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowV.glsl new file mode 100644 index 0000000000..1626e21cd8 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowV.glsl @@ -0,0 +1,25 @@ +/** + * @file diffuseSkinnedV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#version 120 + +mat4 getObjectSkinnedTransform(); + +void main() +{ + //transform vertex + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + + mat4 mat = getObjectSkinnedTransform(); + + mat = gl_ModelViewMatrix * mat; + vec3 pos = (mat*gl_Vertex).xyz; + + gl_FrontColor = gl_Color; + + gl_Position = gl_ProjectionMatrix*vec4(pos, 1.0); +} diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl new file mode 100644 index 0000000000..d884f2e4a5 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl @@ -0,0 +1,37 @@ +/** + * @file bumpV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#version 120 + +varying vec3 vary_mat0; +varying vec3 vary_mat1; +varying vec3 vary_mat2; + +mat4 getObjectSkinnedTransform(); + +void main() +{ + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + + mat4 mat = getObjectSkinnedTransform(); + + mat = gl_ModelViewMatrix * mat; + + vec3 pos = (mat*gl_Vertex).xyz; + + + vec3 n = normalize((mat * vec4(gl_Normal.xyz+gl_Vertex.xyz, 1.0)).xyz-pos.xyz); + vec3 b = normalize((mat * vec4(gl_MultiTexCoord2.xyz+gl_Vertex.xyz, 1.0)).xyz-pos.xyz); + vec3 t = cross(b, n); + + vary_mat0 = vec3(t.x, b.x, n.x); + vary_mat1 = vec3(t.y, b.y, n.y); + vary_mat2 = vec3(t.z, b.z, n.z); + + gl_Position = gl_ProjectionMatrix*vec4(pos, 1.0); + gl_FrontColor = gl_Color; +} diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl new file mode 100644 index 0000000000..9a45c03237 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl @@ -0,0 +1,33 @@ +/** + * @file diffuseSkinnedV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#version 120 + +varying vec3 vary_normal; + +mat4 getObjectSkinnedTransform(); + +void main() +{ + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + + mat4 mat = getObjectSkinnedTransform(); + + mat = gl_ModelViewMatrix * mat; + vec3 pos = (mat*gl_Vertex).xyz; + + vec4 norm = gl_Vertex; + norm.xyz += gl_Normal.xyz; + norm.xyz = (mat*norm).xyz; + norm.xyz = normalize(norm.xyz-pos.xyz); + + vary_normal = norm.xyz; + + gl_FrontColor = gl_Color; + + gl_Position = gl_ProjectionMatrix*vec4(pos, 1.0); +} diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl new file mode 100644 index 0000000000..4cde013eef --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl @@ -0,0 +1,15 @@ +/** + * @file lightFullbrightShinyWaterF.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + + +uniform sampler2D diffuseMap; +uniform samplerCube environmentMap; + +void fullbright_shiny_lighting_water() +{ + gl_FragColor = texture2D(diffuseMap, gl_TexCoord[0].xy); +} diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl new file mode 100644 index 0000000000..f0baeeeee5 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl @@ -0,0 +1,39 @@ +/** + * @file shinySimpleSkinnedV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#version 120 + +void calcAtmospherics(vec3 inPositionEye); +mat4 getObjectSkinnedTransform(); + +attribute vec4 object_weight; + +void main() +{ + mat4 mat = getObjectSkinnedTransform(); + + mat = gl_ModelViewMatrix * mat; + vec3 pos = (mat*gl_Vertex).xyz; + + vec4 norm = gl_Vertex; + norm.xyz += gl_Normal.xyz; + norm.xyz = (mat*norm).xyz; + norm.xyz = normalize(norm.xyz-pos.xyz); + + vec3 ref = reflect(pos.xyz, -norm.xyz); + + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + gl_TexCoord[1] = gl_TextureMatrix[1]*vec4(ref,1.0); + + calcAtmospherics(pos.xyz); + + gl_FrontColor = gl_Color; + + gl_Position = gl_ProjectionMatrix*vec4(pos, 1.0); + + gl_FogFragCoord = pos.z; +} diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyWaterF.glsl new file mode 100644 index 0000000000..5e6e4c16b7 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyWaterF.glsl @@ -0,0 +1,13 @@ +/** + * @file fullbrightShinyWaterF.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +void fullbright_shiny_lighting_water(); + +void main() +{ + fullbright_shiny_lighting_water(); +} diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightSkinnedV.glsl new file mode 100644 index 0000000000..02ff3cc2a9 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/objects/fullbrightSkinnedV.glsl @@ -0,0 +1,37 @@ +/** + * @file fullbrightSkinnedV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#version 120 + +void calcAtmospherics(vec3 inPositionEye); +mat4 getObjectSkinnedTransform(); + +attribute vec4 object_weight; + +void main() +{ + //transform vertex + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + + mat4 mat = getObjectSkinnedTransform(); + + mat = gl_ModelViewMatrix * mat; + vec3 pos = (mat*gl_Vertex).xyz; + + vec4 norm = gl_Vertex; + norm.xyz += gl_Normal.xyz; + norm.xyz = (mat*norm).xyz; + norm.xyz = normalize(norm.xyz-pos.xyz); + + calcAtmospherics(pos.xyz); + + gl_FrontColor = gl_Color; + + gl_Position = gl_ProjectionMatrix*vec4(pos, 1.0); + + gl_FogFragCoord = pos.z; +} diff --git a/indra/newview/app_settings/shaders/class1/objects/shinySimpleSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/shinySimpleSkinnedV.glsl new file mode 100644 index 0000000000..4146646058 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/objects/shinySimpleSkinnedV.glsl @@ -0,0 +1,39 @@ +/** + * @file shinySimpleSkinnedV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#version 120 + +vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol); +void calcAtmospherics(vec3 inPositionEye); +mat4 getObjectSkinnedTransform(); + +attribute vec4 object_weight; + +void main() +{ + mat4 mat = getObjectSkinnedTransform(); + + mat = gl_ModelViewMatrix * mat; + vec3 pos = (mat*gl_Vertex).xyz; + + vec4 norm = gl_Vertex; + norm.xyz += gl_Normal.xyz; + norm.xyz = (mat*norm).xyz; + norm.xyz = normalize(norm.xyz-pos.xyz); + + vec3 ref = reflect(pos.xyz, -norm.xyz); + + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + gl_TexCoord[1] = gl_TextureMatrix[1]*vec4(ref,1.0); + + calcAtmospherics(pos.xyz); + + vec4 color = calcLighting(pos.xyz, norm.xyz, gl_Color, vec4(0.)); + gl_FrontColor = color; + + gl_Position = gl_ProjectionMatrix*vec4(pos, 1.0); +} diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleSkinnedV.glsl new file mode 100644 index 0000000000..59944b8861 --- /dev/null +++ b/indra/newview/app_settings/shaders/class1/objects/simpleSkinnedV.glsl @@ -0,0 +1,39 @@ +/** + * @file simpleV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#version 120 + +vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol); +void calcAtmospherics(vec3 inPositionEye); +mat4 getObjectSkinnedTransform(); + +attribute vec4 object_weight; + +void main() +{ + //transform vertex + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + + mat4 mat = getObjectSkinnedTransform(); + + mat = gl_ModelViewMatrix * mat; + vec3 pos = (mat*gl_Vertex).xyz; + + vec4 norm = gl_Vertex; + norm.xyz += gl_Normal.xyz; + norm.xyz = (mat*norm).xyz; + norm.xyz = normalize(norm.xyz-pos.xyz); + + calcAtmospherics(pos.xyz); + + vec4 color = calcLighting(pos.xyz, norm.xyz, gl_Color, vec4(0.)); + gl_FrontColor = color; + + gl_Position = gl_ProjectionMatrix*vec4(pos, 1.0); + + gl_FogFragCoord = pos.z; +} diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl new file mode 100644 index 0000000000..dc4663677b --- /dev/null +++ b/indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl @@ -0,0 +1,84 @@ +/** + * @file alphaSkinnedV.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol); +void calcAtmospherics(vec3 inPositionEye); + +float calcDirectionalLight(vec3 n, vec3 l); +float calcPointLightOrSpotLight(vec3 v, vec3 n, vec4 lp, vec3 ln, float la, float is_pointlight); +mat4 getObjectSkinnedTransform(); +vec3 atmosAmbient(vec3 light); +vec3 atmosAffectDirectionalLight(float lightIntensity); +vec3 scaleDownLight(vec3 light); +vec3 scaleUpLight(vec3 light); + +varying vec3 vary_ambient; +varying vec3 vary_directional; +varying vec3 vary_fragcoord; +varying vec3 vary_position; +varying vec3 vary_light; + +uniform float near_clip; +uniform float shadow_offset; +uniform float shadow_bias; + +void main() +{ + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; + + mat4 mat = getObjectSkinnedTransform(); + + mat = gl_ModelViewMatrix * mat; + + vec3 pos = (mat*gl_Vertex).xyz; + + gl_Position = gl_ProjectionMatrix * vec4(pos, 1.0); + + vec4 n = gl_Vertex; + n.xyz += gl_Normal.xyz; + n.xyz = (mat*n).xyz; + n.xyz = normalize(n.xyz-pos.xyz); + + vec3 norm = n.xyz; + + float dp_directional_light = max(0.0, dot(norm, gl_LightSource[0].position.xyz)); + vary_position = pos.xyz + gl_LightSource[0].position.xyz * (1.0-dp_directional_light)*shadow_offset; + + calcAtmospherics(pos.xyz); + + //vec4 color = calcLighting(pos.xyz, norm, gl_Color, vec4(0.)); + vec4 col = vec4(0.0, 0.0, 0.0, gl_Color.a); + + // Collect normal lights (need to be divided by two, as we later multiply by 2) + col.rgb += gl_LightSource[2].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[2].position, gl_LightSource[2].spotDirection.xyz, gl_LightSource[2].linearAttenuation, gl_LightSource[2].specular.a); + col.rgb += gl_LightSource[3].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[3].position, gl_LightSource[3].spotDirection.xyz, gl_LightSource[3].linearAttenuation, gl_LightSource[3].specular.a); + col.rgb += gl_LightSource[4].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[4].position, gl_LightSource[4].spotDirection.xyz, gl_LightSource[4].linearAttenuation, gl_LightSource[4].specular.a); + col.rgb += gl_LightSource[5].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[5].position, gl_LightSource[5].spotDirection.xyz, gl_LightSource[5].linearAttenuation, gl_LightSource[5].specular.a); + col.rgb += gl_LightSource[6].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[6].position, gl_LightSource[6].spotDirection.xyz, gl_LightSource[6].linearAttenuation, gl_LightSource[6].specular.a); + col.rgb += gl_LightSource[7].diffuse.rgb*calcPointLightOrSpotLight(pos.xyz, norm, gl_LightSource[7].position, gl_LightSource[7].spotDirection.xyz, gl_LightSource[7].linearAttenuation, gl_LightSource[7].specular.a); + col.rgb += gl_LightSource[1].diffuse.rgb*calcDirectionalLight(norm, gl_LightSource[1].position.xyz); + col.rgb = scaleDownLight(col.rgb); + + // Add windlight lights + col.rgb += atmosAmbient(vec3(0.)); + + vary_light = gl_LightSource[0].position.xyz; + + vary_ambient = col.rgb*gl_Color.rgb; + vary_directional.rgb = gl_Color.rgb*atmosAffectDirectionalLight(max(calcDirectionalLight(norm, gl_LightSource[0].position.xyz), (1.0-gl_Color.a)*(1.0-gl_Color.a))); + + col.rgb = min(col.rgb*gl_Color.rgb, 1.0); + + gl_FrontColor = col; + + gl_FogFragCoord = pos.z; + + pos.xyz = (gl_ModelViewProjectionMatrix * gl_Vertex).xyz; + vary_fragcoord.xyz = pos.xyz + vec3(0,0,near_clip); + +} + diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyWaterF.glsl new file mode 100644 index 0000000000..eca9a567f6 --- /dev/null +++ b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyWaterF.glsl @@ -0,0 +1,29 @@ +/** + * @file lightFullbrightShinyWaterF.glsl + * + * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +uniform sampler2D diffuseMap; +uniform samplerCube environmentMap; + +vec3 fullbrightShinyAtmosTransport(vec3 light); +vec3 fullbrightScaleSoftClip(vec3 light); +vec4 applyWaterFog(vec4 color); + +void fullbright_shiny_lighting_water() +{ + vec4 color = texture2D(diffuseMap, gl_TexCoord[0].xy); + color.rgb *= gl_Color.rgb; + + vec3 envColor = textureCube(environmentMap, gl_TexCoord[1].xyz).rgb; + color.rgb = mix(color.rgb, envColor.rgb, gl_Color.a); + + color.rgb = fullbrightShinyAtmosTransport(color.rgb); + color.rgb = fullbrightScaleSoftClip(color.rgb); + color.a = max(color.a, gl_Color.a); + + gl_FragColor = applyWaterFog(color); +} + diff --git a/indra/newview/llfloaterimportcollada.cpp b/indra/newview/llfloaterimportcollada.cpp new file mode 100644 index 0000000000..476c02cd46 --- /dev/null +++ b/indra/newview/llfloaterimportcollada.cpp @@ -0,0 +1,1116 @@ +/** + * @file llfloaterimportcollada.cpp + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloaterimportcollada.h" + +#include "dae.h" +//#include "dom.h" +#include "dom/domAsset.h" +#include "dom/domBind_material.h" +#include "dom/domConstants.h" +#include "dom/domEffect.h" +#include "dom/domGeometry.h" +#include "dom/domInstance_geometry.h" +#include "dom/domInstance_material.h" +#include "dom/domInstance_node.h" +#include "dom/domInstance_effect.h" +#include "dom/domMaterial.h" +#include "dom/domMatrix.h" +#include "dom/domNode.h" +#include "dom/domProfile_COMMON.h" +#include "dom/domRotate.h" +#include "dom/domScale.h" +#include "dom/domTranslate.h" +#include "dom/domVisual_scene.h" + +#include "llagent.h" +#include "llassetuploadresponders.h" +#include "lleconomy.h" +#include "llfloaterperms.h" +#include "llfloaterreg.h" +#include "llsdutil.h" +#include "llsdutil_math.h" +#include "llselectmgr.h" +#include "llvfile.h" +#include "llvfs.h" +#include "llviewermenufile.h" +#include "llviewerregion.h" +#include "llvolumemessage.h" +#include "llmodel.h" +#include "llmeshreduction.h" +#include "material_codes.h" + +// +// floater +// + +#if LL_MESH_ENABLED + +LLFloaterImportCollada::LLFloaterImportCollada(const LLSD& key) + : LLFloater(key) +{ +} + + +BOOL LLFloaterImportCollada::postBuild() +{ + if (!LLFloater::postBuild()) + { + return FALSE; + } + + childSetCommitCallback("ok", LLImportCollada::onCommitOK, this); + childSetCommitCallback("cancel", LLImportCollada::onCommitCancel, this); + + setStatusIdle(); + setAssetCount(0,0); + enableOK(TRUE); + + return TRUE; +} + + +void LLFloaterImportCollada::setAssetCount(S32 mesh_count, S32 texture_count) +{ + childSetTextArg("mesh count", "[COUNT]", llformat("%d", mesh_count)); + childSetTextArg("texture count", "[COUNT]", llformat("%d", texture_count)); +} + +void LLFloaterImportCollada::setStatusAssetUploading(std::string asset_name) +{ + LLUIString uploading = getString("status_uploading"); + uploading.setArg("[NAME]", asset_name); + childSetTextArg("status", "[STATUS]", uploading.getString()); +} + +void LLFloaterImportCollada::setStatusCreatingPrim(std::string prim_name) +{ + LLUIString creating = getString("status_creating"); + creating.setArg("[NAME]", prim_name); + childSetTextArg("status", "[STATUS]", creating.getString()); +} + +void LLFloaterImportCollada::setStatusIdle() +{ + childSetTextArg("status", "[STATUS]", getString("status_idle")); +} + +void LLFloaterImportCollada::enableOK(BOOL enable) +{ + childSetEnabled("ok", enable); +} + + +// +// misc helpers +// + + +// why oh why do forbid matrix multiplication in our llmath library? +LLMatrix4 matrix_multiply(LLMatrix4 a, LLMatrix4 b) +{ + a *= b; + + return a; +} + +// why oh why does colladadom not provide such things? +daeElement* getFirstChild(daeElement* parent) +{ + daeTArray< daeSmartRef > children = parent->getChildren(); + + if (children.getCount() > 0) + { + return children[0]; + } + else + { + return NULL; + } +} + +// why oh why does colladadom not provide such things? +daeElement* getNextSibling(daeElement* child) +{ + daeElement* parent = child->getParent(); + + if (parent == NULL) + { + // must be root, root has no siblings + return NULL; + } + + daeElement* sibling = NULL; + + daeTArray< daeSmartRef > children = parent->getChildren(); + for (S32 i = 0; i < children.getCount(); i++) + { + if (child == children[i]) + { + if ((i+1) < children.getCount()) + { + sibling = children[i+1]; + } + } + } + + return sibling; +} + +// try to get a decent label for this element +std::string getElementLabel(daeElement *element) +{ + // if we have a name attribute, use it + std::string name = element->getAttribute("name"); + if (name.length()) + { + return name; + } + + // if we have an ID attribute, use it + if (element->getID()) + { + return std::string(element->getID()); + } + + // if we have a parent, use it + daeElement* parent = element->getParent(); + if (parent) + { + // if parent has a name, use it + std::string name = parent->getAttribute("name"); + if (name.length()) + { + return name; + } + + // if parent has an ID, use it + if (parent->getID()) + { + return std::string(parent->getID()); + } + } + + // try to use our type + daeString element_name = element->getElementName(); + if (element_name) + { + return std::string(element_name); + } + + // if all else fails, use "object" + return std::string("object"); +} + +LLColor4 getDaeColor(daeElement* element) +{ + LLColor4 value; + domCommon_color_or_texture_type_complexType::domColor* color = + daeSafeCast(element->getDescendant("color")); + if (color) + { + domFx_color_common domfx_color = color->getValue(); + value = LLColor4(domfx_color[0], domfx_color[1], domfx_color[2], domfx_color[3]); + } + + return value; +} + +LLTextureEntry profileToTextureEntry(domProfile_COMMON* material) +{ + LLTextureEntry te; + + te.setID(LLUUID("5748decc-f629-461c-9a36-a35a221fe21f")); // blank texture + daeElement* diffuse = material->getDescendant("diffuse"); + if (diffuse) + { + te.setColor(LLColor3(0.1f, 0.9f, 1.0f)); + + domCommon_color_or_texture_type_complexType::domTexture* texture = + daeSafeCast(diffuse->getDescendant("texture")); + if (texture) + { + domCommon_newparam_type_Array newparams = material->getNewparam_array(); + for (S32 i = 0; i < newparams.getCount(); i++) + { + domFx_surface_common* surface = newparams[i]->getSurface(); + if (surface) + { + domFx_surface_init_common* init = surface->getFx_surface_init_common(); + if (init) + { + domFx_surface_init_from_common_Array init_from = init->getInit_from_array(); + + if (init_from.getCount() > 0) + { + daeElement* image = init_from[0]->getValue().getElement(); + if (image) + { + LLUUID texture_asset = LLImportColladaAssetCache::getInstance()->getAssetForDaeElement(image); + + if (texture_asset.notNull()) + { + te.setID(texture_asset); + te.setColor(LLColor3(1,1,1)); + } + } + } + } + } + } + } + + domCommon_color_or_texture_type_complexType::domColor* color = + daeSafeCast(diffuse->getDescendant("color")); + if (color) + { + domFx_color_common domfx_color = color->getValue(); + LLColor4 value = LLColor4(domfx_color[0], domfx_color[1], domfx_color[2], domfx_color[3]); + te.setColor(value); + } + } + + daeElement* emission = material->getDescendant("emission"); + if (emission) + { + LLColor4 emission_color = getDaeColor(emission); + if (((emission_color[0] + emission_color[1] + emission_color[2]) / 3.0) > 0.25) + { + te.setFullbright(TRUE); + } + } + + return te; +} + +std::vector getMaterials(LLModel* model, domInstance_geometry* instance_geo) +{ + std::vector texture_entries; + for (int i = 0; i < model->mMaterialList.size(); i++) + { + LLTextureEntry texture_entry; + + domInstance_material* instance_mat = NULL; + + domBind_material::domTechnique_common* technique = + daeSafeCast(instance_geo->getDescendant(daeElement::matchType(domBind_material::domTechnique_common::ID()))); + + if (technique) + { + daeTArray< daeSmartRef > inst_materials = technique->getChildrenByType(); + for (int j = 0; j < inst_materials.getCount(); j++) + { + std::string symbol(inst_materials[j]->getSymbol()); + + if (symbol == model->mMaterialList[i]) // found the binding + { + instance_mat = inst_materials[j]; + } + } + } + + if (instance_mat) + { + domMaterial* material = daeSafeCast(instance_mat->getTarget().getElement()); + if (material) + { + domInstance_effect* instance_effect = + daeSafeCast(material->getDescendant(daeElement::matchType(domInstance_effect::ID()))); + if (instance_effect) + { + domEffect* effect = daeSafeCast(instance_effect->getUrl().getElement()); + if (effect) + { + domProfile_COMMON* profile = + daeSafeCast(effect->getDescendant(daeElement::matchType(domProfile_COMMON::ID()))); + if (profile) + { + texture_entry = profileToTextureEntry(profile); + } + } + } + } + } + + texture_entries.push_back(texture_entry); + } + + return texture_entries; +} + +LLTextureEntry instanceGeoToTextureEntry(domInstance_geometry* instance_geo) +{ + LLTextureEntry te; + domInstance_material* instance_mat = + daeSafeCast(instance_geo->getDescendant(daeElement::matchType(domInstance_material::ID()))); + if (instance_mat) + { + } + + return te; +} + + + +// responder for asset uploads +// does all the normal stuff followed by a notification to continue importing +// WARNING - currently unused - TODO +class LLColladaNewAgentInventoryResponder : public LLNewAgentInventoryResponder +{ + LLColladaNewAgentInventoryResponder(const LLSD& post_data, + const LLUUID& vfile_id, + LLAssetType::EType asset_type) + : LLNewAgentInventoryResponder(post_data, vfile_id, asset_type) + { + } + LLColladaNewAgentInventoryResponder(const LLSD& post_data, + const std::string& file_name, + LLAssetType::EType asset_type) + : LLNewAgentInventoryResponder(post_data, file_name, asset_type) + { + } + + virtual void uploadComplete(const LLSD& content) + { + LLNewAgentInventoryResponder::uploadComplete(content); + } + +}; + +BOOL LLImportColladaAssetCache::uploadImageAsset(domImage* image) +{ + // we only support init_from now - embedded data will come later + domImage::domInit_from* init = image->getInit_from(); + if (!init) + { + return FALSE; + } + + std::string filename = cdom::uriToNativePath(init->getValue().str()); + + std::string name = getElementLabel(image); + + LLUUID transaction_id = upload_new_resource(filename, name, std::string(), + 0, LLFolderType::FT_TEXTURE, LLInventoryType::IT_TEXTURE, + LLFloaterPerms::getNextOwnerPerms(), LLFloaterPerms::getGroupPerms(), + LLFloaterPerms::getEveryonePerms(), + name, NULL, + LLGlobalEconomy::Singleton::getInstance()->getPriceUpload(), NULL); + + if (transaction_id.isNull()) + { + llwarns << "cannot upload " << filename << llendl; + + return FALSE; + } + + mTransactionMap[transaction_id] = image; + + LLFloaterReg::findTypedInstance("import_collada")->setStatusAssetUploading(name); + + return TRUE; +} + + + +// +// asset cache - +// uploads assets and provides a map from collada element to asset +// + + + +BOOL LLImportColladaAssetCache::uploadMeshAsset(domMesh* mesh) +{ + LLPointer model = LLModel::loadModelFromDomMesh(mesh); + + if (model->getNumVolumeFaces() == 0) + { + return FALSE; + } + + // generate LODs + + + std::vector > lods; + lods.push_back(model); + S32 triangle_count = model->getNumTriangles(); + + for (S32 i = 0; i < 4; i++) + { + LLPointer last_model = lods.back(); + + S32 triangle_target = (S32)(triangle_count / pow(3.f, i + 1)); + if (triangle_target > 16) + { + LLMeshReduction reduction; + LLPointer new_model = reduction.reduce(model, triangle_target, LLMeshReduction::TRIANGLE_BUDGET); + lods.push_back(new_model); + } + else + { + lods.push_back(last_model); + } + } + + // write model to temp file + + std::string filename = gDirUtilp->getTempFilename(); + LLModel::writeModel(filename, + lods[4], + lods[0], + lods[1], + lods[2], + lods[3], + lods[4]->mPhysicsShape); + + + // copy file to VFS + + LLTransactionID tid; + tid.generate(); + LLAssetID uuid = tid.makeAssetID(gAgent.getSecureSessionID()); // create asset uuid + + S32 file_size; + LLAPRFile infile ; + infile.open(filename, LL_APR_RB, NULL, &file_size); + + if (infile.getFileHandle()) + { + LLVFile file(gVFS, uuid, LLAssetType::AT_MESH, LLVFile::WRITE); + + file.setMaxSize(file_size); + + const S32 buf_size = 65536; + U8 copy_buf[buf_size]; + while ((file_size = infile.read(copy_buf, buf_size))) + { + file.write(copy_buf, file_size); + } + } + + + std::string name = getElementLabel(mesh); + + upload_new_resource(tid, LLAssetType::AT_MESH, name, std::string(), 0,LLFolderType::FT_MESH, LLInventoryType::IT_MESH, + LLFloaterPerms::getNextOwnerPerms(), LLFloaterPerms::getGroupPerms(), LLFloaterPerms::getEveryonePerms(), + name, NULL, + LLGlobalEconomy::Singleton::getInstance()->getPriceUpload(), NULL); + + LLFile::remove(filename); + + mTransactionMap[uuid] = mesh; + + LLFloaterReg::findTypedInstance("import_collada")->setStatusAssetUploading(name); + + return TRUE; +} + + +// called by the mesh asset upload responder to indicate the mesh asset has been uploaded +void LLImportColladaAssetCache::assetUploaded(LLUUID transaction_uuid, LLUUID asset_uuid, BOOL success) +{ + std::map::iterator i = mTransactionMap.find(transaction_uuid); + + if (i != mTransactionMap.end()) + { + daeElement* element = i->second; + + + if (success) + { + mAssetMap[element] = asset_uuid; + } + else // failure + { + // if failed, put back on end of queue + mUploadsPending.push_back(element); + } + + mUploads--; + uploadNextAsset(); + } +} + +const S32 MAX_CONCURRENT_UPLOADS = 5; + +void LLImportColladaAssetCache::uploadNextAsset() +{ + while ((mUploadsPending.size() > 0) && (mUploads < MAX_CONCURRENT_UPLOADS)) + { + BOOL upload_started = FALSE; + + daeElement* element = mUploadsPending.back(); + mUploadsPending.pop_back(); + + domImage* image = daeSafeCast(element); + if (image) + { + upload_started = uploadImageAsset(image); + } + + domMesh* mesh = daeSafeCast(element); + if (mesh) + { + upload_started = uploadMeshAsset(mesh); + } + + if (upload_started) + { + mUploads++; + } + + } + + if ((mUploadsPending.size() == 0) && (mUploads == 0)) + { + // we're done! notify the importer + LLImportCollada::getInstance()->assetsUploaded(); + } + + updateCount(); +} + + +void LLImportColladaAssetCache::clear() +{ + mDAE = NULL; + mTransactionMap.clear(); + mAssetMap.clear(); + mUploadsPending.clear(); + mUploads = 0; +} + +void LLImportColladaAssetCache::endImport() +{ + clear(); +} + +void LLImportColladaAssetCache::updateCount() +{ + S32 mesh_count = 0; + S32 image_count = 0; + + for (S32 i = 0; i < mUploadsPending.size(); i++) + { + daeElement* element = mUploadsPending[i]; + + if (daeSafeCast(element)) + { + mesh_count++; + } + + if (daeSafeCast(element)) + { + image_count++; + } + } + + LLFloaterReg::findTypedInstance("import_collada")->setAssetCount(mesh_count, image_count); +} + +void LLImportColladaAssetCache::prepareForUpload(DAE* dae) +{ + clear(); + mDAE = dae; + + daeDatabase* db = mDAE->getDatabase(); + + S32 mesh_count = db->getElementCount(NULL, COLLADA_TYPE_MESH); + for (S32 i = 0; i < mesh_count; i++) + { + domMesh* mesh = NULL; + + db->getElement((daeElement**) &mesh, i, NULL, COLLADA_TYPE_MESH); + + mUploadsPending.push_back(mesh); + } + + + S32 image_count = db->getElementCount(NULL, COLLADA_TYPE_IMAGE); + for (S32 i = 0; i < image_count; i++) + { + domImage* image = NULL; + db->getElement((daeElement**) &image, i, NULL, COLLADA_TYPE_IMAGE); + + mUploadsPending.push_back(image); + } + + updateCount(); +} + + +void LLImportColladaAssetCache::uploadAssets() +{ + uploadNextAsset(); +} + + +LLUUID LLImportColladaAssetCache::getAssetForDaeElement(daeElement* element) +{ + LLUUID id; + + std::map::iterator i = mAssetMap.find(element); + if (i != mAssetMap.end()) + { + id = i->second; + } + + return id; +} + + +// +// importer +// + + + +LLImportCollada::LLImportCollada() +{ + mIsImporting = FALSE; +} + + + + +void LLImportCollada::appendObjectAsset(domInstance_geometry* instance_geo) +{ + domGeometry* geo = daeSafeCast(instance_geo->getUrl().getElement()); + if (!geo) + { + llwarns << "cannot find geometry" << llendl; + return; + } + + domMesh* mesh = daeSafeCast(geo->getDescendant(daeElement::matchType(domMesh::ID()))); + if (!mesh) + { + llwarns << "could not find mesh" << llendl; + return; + } + + LLUUID mesh_asset = LLImportColladaAssetCache::getInstance()->getAssetForDaeElement(mesh); + if (mesh_asset.isNull()) + { + llwarns << "no mesh asset, skipping" << llendl; + return; + } + + // load the model + LLModel* model = LLModel::loadModelFromDomMesh(mesh); + + + + + // get our local transformation + LLMatrix4 transformation = mStack.front().transformation; + + // adjust the transformation to compensate for mesh normalization + LLVector3 mesh_scale_vector; + LLVector3 mesh_translation_vector; + model->getNormalizedScaleTranslation(mesh_scale_vector, mesh_translation_vector); + LLMatrix4 mesh_translation; + mesh_translation.setTranslation(mesh_translation_vector); + transformation = matrix_multiply(mesh_translation, transformation); + LLMatrix4 mesh_scale; + mesh_scale.initScale(mesh_scale_vector); + transformation = matrix_multiply(mesh_scale, transformation); + + // check for reflection + BOOL reflected = (transformation.determinant() < 0); + + // compute position + LLVector3 position = LLVector3(0, 0, 0) * transformation; + + // compute scale + LLVector3 x_transformed = LLVector3(1, 0, 0) * transformation - position; + LLVector3 y_transformed = LLVector3(0, 1, 0) * transformation - position; + LLVector3 z_transformed = LLVector3(0, 0, 1) * transformation - position; + F32 x_length = x_transformed.normalize(); + F32 y_length = y_transformed.normalize(); + F32 z_length = z_transformed.normalize(); + LLVector3 scale = LLVector3(x_length, y_length, z_length); + + // adjust for "reflected" geometry + LLVector3 x_transformed_reflected = x_transformed; + if (reflected) + { + x_transformed_reflected *= -1.0; + } + + // compute rotation + LLMatrix3 rotation_matrix; + rotation_matrix.setRows(x_transformed_reflected, y_transformed, z_transformed); + LLQuaternion quat_rotation = rotation_matrix.quaternion(); + quat_rotation.normalize(); // the rotation_matrix might not have been orthoginal. make it so here. + LLVector3 euler_rotation; + quat_rotation.getEulerAngles(&euler_rotation.mV[VX], &euler_rotation.mV[VY], &euler_rotation.mV[VZ]); + + + // + // build parameter block to construct this prim + // + + LLSD object_params; + + // create prim + + // set volume params + LLVolumeParams volume_params; + volume_params.setType( LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE ); + volume_params.setBeginAndEndS( 0.f, 1.f ); + volume_params.setBeginAndEndT( 0.f, 1.f ); + volume_params.setRatio ( 1, 1 ); + volume_params.setShear ( 0, 0 ); + U8 sculpt_type = LL_SCULPT_TYPE_MESH; + if (reflected) + { + sculpt_type |= LL_SCULPT_FLAG_MIRROR; + } + volume_params.setSculptID(mesh_asset, sculpt_type); + object_params["shape"] = volume_params.asLLSD(); + + object_params["material"] = LL_MCODE_WOOD; + + object_params["group-id"] = gAgent.getGroupID(); + object_params["pos"] = ll_sd_from_vector3(position); + object_params["rotation"] = ll_sd_from_quaternion(quat_rotation); + object_params["scale"] = ll_sd_from_vector3(scale); + object_params["name"] = mStack.front().name; + + // load material from dae file + std::vector texture_entries = getMaterials(model, instance_geo); + object_params["facelist"] = LLSD::emptyArray(); + for (int i = 0; i < texture_entries.size(); i++) + { + object_params["facelist"][i] = texture_entries[i].asLLSD(); + } + + // set extra parameters + LLSculptParams sculpt_params; + sculpt_params.setSculptTexture(mesh_asset); + sculpt_params.setSculptType(sculpt_type); + U8 buffer[MAX_OBJECT_PARAMS_SIZE+1]; + LLDataPackerBinaryBuffer dp(buffer, MAX_OBJECT_PARAMS_SIZE); + sculpt_params.pack(dp); + std::vector v(dp.getCurrentSize()); + memcpy(&v[0], buffer, dp.getCurrentSize()); + LLSD extra_parameter; + extra_parameter["extra_parameter"] = sculpt_params.mType; + extra_parameter["param_data"] = v; + object_params["extra_parameters"].append(extra_parameter); + + mObjectList.append(object_params); + + delete model; + + LLFloaterReg::findTypedInstance("import_collada")->setStatusCreatingPrim(mStack.front().name); + + return; +} + +void LLImportCollada::uploadObjectAsset() +{ + LLSD request; + request["objects"] = mObjectList; + + std::string url = gAgent.getRegion()->getCapability("UploadObjectAsset"); + LLHTTPClient::post(url, request, new LLHTTPClient::Responder()); +} + + + +void LLImportCollada::importFile(std::string filename) +{ + if (mIsImporting) + { + llwarns << "Importer already running, import command for " << filename << " ignored" << llendl; + return; + } + + LLFloaterReg::showInstance("import_collada"); + LLFloaterReg::findTypedInstance("import_collada")->enableOK(TRUE); + + + mIsImporting = TRUE; + mDAE = new DAE; + mImportOrigin = gAgent.getPositionAgent() + LLVector3(0, 0, 2); + mSceneTransformation = LLMatrix4(); // identity + mFilename = filename; + mCreates = 0; + mObjectList = LLSD::emptyArray(); + + if (mDAE->open(mFilename) == NULL) + { + llwarns << "cannot open file " << mFilename << llendl; + endImport(); + return; + } + + LLImportColladaAssetCache::getInstance()->prepareForUpload(mDAE); + + return; +} + + +void LLImportCollada::assetsUploaded() +{ + if (!mIsImporting) + { + // weird, we got a callback while not importing. + return; + } + + daeDocument* doc = mDAE->getDoc(mFilename); + if (!doc) + { + llwarns << "can't find internal doc" << llendl; + endImport(); + } + + daeElement* root = doc->getDomRoot(); + if (!root) + { + llwarns << "document has no root" << llendl; + endImport(); + } + + domAsset::domUnit* unit = daeSafeCast(root->getDescendant(daeElement::matchType(domAsset::domUnit::ID()))); + if (unit) + { + mSceneTransformation *= unit->getMeter(); + } + + domUpAxisType up = UPAXISTYPE_Y_UP; // default is Y_UP + domAsset::domUp_axis* up_axis = + daeSafeCast(root->getDescendant(daeElement::matchType(domAsset::domUp_axis::ID()))); + if (up_axis) + { + up = up_axis->getValue(); + } + + if (up == UPAXISTYPE_X_UP) + { + LLMatrix4 rotation; + rotation.initRotation(0.0f, 90.0f * DEG_TO_RAD, 0.0f); + + mSceneTransformation = matrix_multiply(rotation, mSceneTransformation); + } + else if (up == UPAXISTYPE_Y_UP) + { + LLMatrix4 rotation; + rotation.initRotation(90.0f * DEG_TO_RAD, 0.0f, 0.0f); + + mSceneTransformation = matrix_multiply(rotation, mSceneTransformation); + } + // else Z_UP, which is our behavior + + + + daeElement* scene = root->getDescendant("visual_scene"); + if (!scene) + { + llwarns << "document has no visual_scene" << llendl; + endImport(); + } + + processElement(scene); + processNextElement(); +} + +void LLImportCollada::pushStack(daeElement* next_element, std::string name, LLMatrix4 transformation) +{ + struct StackState new_state; + + new_state.next_element = next_element; + new_state.name = name; + new_state.transformation = transformation; + + mStack.push_front(new_state); +} + + + +void LLImportCollada::popStack() +{ + mStack.pop_front(); +} + + + +BOOL LLImportCollada::processElement(daeElement* element) +{ + if (mStack.size() > 0) + { + mStack.front().next_element = getNextSibling(element); + } + + domTranslate* translate = daeSafeCast(element); + if (translate) + { + domFloat3 dom_value = translate->getValue(); + + LLMatrix4 translation; + translation.setTranslation(LLVector3(dom_value[0], dom_value[1], dom_value[2])); + + mStack.front().transformation = matrix_multiply(translation, mStack.front().transformation); + } + + domRotate* rotate = daeSafeCast(element); + if (rotate) + { + domFloat4 dom_value = rotate->getValue(); + + LLMatrix4 rotation; + rotation.initRotTrans(dom_value[3] * DEG_TO_RAD, LLVector3(dom_value[0], dom_value[1], dom_value[2]), LLVector3(0, 0, 0)); + + mStack.front().transformation = matrix_multiply(rotation, mStack.front().transformation); + } + + domScale* scale = daeSafeCast(element); + if (scale) + { + domFloat3 dom_value = scale->getValue(); + + LLMatrix4 scaling; + scaling.initScale(LLVector3(dom_value[0], dom_value[1], dom_value[2])); + + mStack.front().transformation = matrix_multiply(scaling, mStack.front().transformation); + } + + domMatrix* matrix = daeSafeCast(element); + if (matrix) + { + domFloat4x4 dom_value = matrix->getValue(); + + LLMatrix4 matrix_transform; + + for (int i = 0; i < 4; i++) + for(int j = 0; j < 4; j++) + { + matrix_transform.mMatrix[i][j] = dom_value[i + j*4]; + } + + mStack.front().transformation = matrix_multiply(matrix_transform, mStack.front().transformation); + } + + domInstance_geometry* instance_geo = daeSafeCast(element); + if (instance_geo) + { + appendObjectAsset(instance_geo); + } + + domNode* node = daeSafeCast(element); + if (node) + { + pushStack(getFirstChild(element), getElementLabel(element), mStack.front().transformation); + } + + domInstance_node* instance_node = daeSafeCast(element); + if (instance_node) + { + daeElement* instance = instance_node->getUrl().getElement(); + if (instance) + { + pushStack(getFirstChild(instance), getElementLabel(instance), mStack.front().transformation); + } + } + + domVisual_scene* scene = daeSafeCast(element); + if (scene) + { + pushStack(getFirstChild(element), std::string("scene"), mSceneTransformation); + } + + return FALSE; +} + + +void LLImportCollada::processNextElement() +{ + while(1) + { + if (mStack.size() == 0) + { + uploadObjectAsset(); + endImport(); + return; + } + + daeElement *element = mStack.front().next_element; + + if (element == NULL) + { + popStack(); + } + else + { + processElement(element); + } + } +} + + +void LLImportCollada::endImport() +{ + LLFloaterReg::hideInstance("import_collada"); + + LLImportColladaAssetCache::getInstance()->endImport(); + + if (mDAE) + { + delete mDAE; + mDAE = NULL; + } + + mIsImporting = FALSE; +} + + +/* static */ +void LLImportCollada::onCommitOK(LLUICtrl*, void*) +{ + LLFloaterReg::findTypedInstance("import_collada")->enableOK(FALSE); + + LLImportColladaAssetCache::getInstance()->uploadAssets(); +} + + +/* static */ +void LLImportCollada::onCommitCancel(LLUICtrl*, void*) +{ + getInstance()->endImport(); +} + +#endif diff --git a/indra/newview/llfloaterimportcollada.h b/indra/newview/llfloaterimportcollada.h new file mode 100644 index 0000000000..818b19e403 --- /dev/null +++ b/indra/newview/llfloaterimportcollada.h @@ -0,0 +1,143 @@ +/** + * @file llfloaterimportcollada.h + * @brief The about box from Help -> About + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLFLOATERIMPORTCOLLADA_H +#define LL_LLFLOATERIMPORTCOLLADA_H + +#include "llfloater.h" +#include "llvolume.h" //for LL_MESH_ENABLED + +#if LL_MESH_ENABLED + +class LLFloaterImportCollada : public LLFloater +{ +public: + LLFloaterImportCollada(const LLSD& key); + /* virtual */ BOOL postBuild(); + + void setAssetCount(S32 mesh_count, S32 texture_count); + void setStatusAssetUploading(std::string asset_name); + void setStatusCreatingPrim(std::string prim_name); + void setStatusIdle(); + void enableOK(BOOL enable); +}; + +class LLViewerObject; +class DAE; +class daeElement; +class domMesh; +class domImage; +class domInstance_geometry; +class LLModel; +class LLImportCollada; + +class LLImportColladaAssetCache : public LLSingleton +{ +public: + // called first to initialize + void prepareForUpload(DAE* dae); + + // upload the assets in this collada file + void uploadAssets(); + + // get the uploaded assets which corresponds to this element + LLUUID getAssetForDaeElement(daeElement* element); + + // stop the upload + void endImport(); + + // reset + void clear(); + + // callback for notification when an asset has been uploaded + void assetUploaded(LLUUID transaction_uuid, LLUUID asset_uuid, BOOL success); + +private: + void uploadNextAsset(); + BOOL uploadMeshAsset(domMesh* mesh); + BOOL uploadImageAsset(domImage* image); + void updateCount(); + + std::vector mUploadsPending; + std::map mTransactionMap; + std::map mAssetMap; + + DAE* mDAE; + S32 mUploads; +}; + + +class LLImportCollada +: public LLSingleton +{ +public: + LLImportCollada(); + void importFile(std::string filename); + + // callback when all assets have been uploaded + void assetsUploaded(); + + // callback when buttons pressed + static void onCommitOK(LLUICtrl*, void*); + static void onCommitCancel(LLUICtrl*, void*); + + +private: + void endImport(); + void processNextElement(); + BOOL processElement(daeElement* element); + void pushStack(daeElement* next_element, std::string name, LLMatrix4 transformation); + void popStack(); + void appendObjectAsset(domInstance_geometry* instance_geo); + void uploadObjectAsset(); + + struct StackState + { + daeElement* next_element; + std::string name; + LLMatrix4 transformation; + }; + + std::list mStack; + S32 mCreates; + LLVector3 mImportOrigin; + std::string mFilename; + BOOL mIsImporting; + DAE *mDAE; + LLSD mObjectList; + + LLMatrix4 mSceneTransformation; +}; + +#endif + +#endif // LL_LLFLOATERIMPORTCOLLADA_H diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp new file mode 100644 index 0000000000..5dd983d818 --- /dev/null +++ b/indra/newview/llfloatermodelpreview.cpp @@ -0,0 +1,3382 @@ +/** + * @file llfloatermodelpreview.cpp + * @brief LLFloaterModelPreview class implementation + * + * $LicenseInfo:firstyear=2004&license=viewergpl$ + * + * Copyright (c) 2004-2007, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlife.com/developers/opensource/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at http://secondlife.com/developers/opensource/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "dae.h" +//#include "dom.h" +#include "dom/domAsset.h" +#include "dom/domBind_material.h" +#include "dom/domCOLLADA.h" +#include "dom/domConstants.h" +#include "dom/domController.h" +#include "dom/domEffect.h" +#include "dom/domGeometry.h" +#include "dom/domInstance_geometry.h" +#include "dom/domInstance_material.h" +#include "dom/domInstance_node.h" +#include "dom/domInstance_effect.h" +#include "dom/domMaterial.h" +#include "dom/domMatrix.h" +#include "dom/domNode.h" +#include "dom/domProfile_COMMON.h" +#include "dom/domRotate.h" +#include "dom/domScale.h" +#include "dom/domTranslate.h" +#include "dom/domVisual_scene.h" + +#include "llfloatermodelpreview.h" + +#include "llfilepicker.h" +#include "llimagebmp.h" +#include "llimagetga.h" +#include "llimagejpeg.h" +#include "llimagepng.h" + +#include "llagent.h" +#include "llbutton.h" +#include "llcombobox.h" +#include "lldatapacker.h" +#include "lldrawable.h" +#include "lldrawpoolavatar.h" +#include "llrender.h" +#include "llface.h" +#include "lleconomy.h" +#include "llfocusmgr.h" +#include "llfloaterperms.h" +#include "llmatrix4a.h" +#include "llmeshrepository.h" +#include "llsdutil_math.h" +#include "lltextbox.h" +#include "lltoolmgr.h" +#include "llui.h" +#include "llvector4a.h" +#include "llviewercamera.h" +#include "llviewerwindow.h" +#include "llvoavatar.h" +#include "llvoavatarself.h" +#include "pipeline.h" +#include "lluictrlfactory.h" +#include "llviewermenufile.h" +#include "llviewerregion.h" +#include "llstring.h" +#include "llbutton.h" +#include "llcheckboxctrl.h" +#include "llsliderctrl.h" +#include "llspinctrl.h" +#include "llvfile.h" +#include "llvfs.h" + + +#include "glod/glod.h" + + +#if LL_MESH_ENABLED + +//static +S32 LLFloaterModelPreview::sUploadAmount = 10; +LLFloaterModelPreview* LLFloaterModelPreview::sInstance = NULL; + +const S32 PREVIEW_BORDER_WIDTH = 2; +const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH; +const S32 PREVIEW_HPAD = PREVIEW_RESIZE_HANDLE_SIZE; +const S32 PREF_BUTTON_HEIGHT = 16 + 7 + 16; +const S32 PREVIEW_TEXTURE_HEIGHT = 300; + +void drawBoxOutline(const LLVector3& pos, const LLVector3& size); + +std::string limit_name[] = +{ + "lowest limit", + "low limit", + "medium limit", + "high limit", + "physics limit", + + "I went off the end of the limit_name array. Me so smart." +}; + +std::string info_name[] = +{ + "lowest info", + "low info", + "medium info", + "high info", + "physics info", + + "I went off the end of the info_name array. Me so smart." +}; + +bool validate_face(const LLVolumeFace& face) +{ + for (U32 i = 0; i < face.mNumIndices; ++i) + { + if (face.mIndices[i] >= face.mNumVertices) + { + llwarns << "Face has invalid index." << llendl; + return false; + } + } + + return true; +} + +bool validate_model(const LLModel* mdl) +{ + if (mdl->getNumVolumeFaces() == 0) + { + llwarns << "Model has no faces!" << llendl; + return false; + } + + for (S32 i = 0; i < mdl->getNumVolumeFaces(); ++i) + { + if (mdl->getVolumeFace(i).mNumVertices == 0) + { + llwarns << "Face has no vertices." << llendl; + return false; + } + + if (mdl->getVolumeFace(i).mNumIndices == 0) + { + llwarns << "Face has no indices." << llendl; + return false; + } + + if (!validate_face(mdl->getVolumeFace(i))) + { + return false; + } + } + + return true; +} + +BOOL stop_gloderror() +{ + GLuint error = glodGetError(); + + if (error != GLOD_NO_ERROR) + { + llwarns << "GLOD error detected, cannot generate LOD: " << std::hex << error << llendl; + return TRUE; + } + + return FALSE; +} + +LLPhysicsDecompFloater::LLPhysicsDecompFloater(LLSD& key) +: LLFloater(key) +{ + +} + +LLPhysicsDecompFloater::~LLPhysicsDecompFloater() +{ + if (LLFloaterModelPreview::sInstance && LLFloaterModelPreview::sInstance->mDecompFloater) + { + LLFloaterModelPreview::sInstance->mDecompFloater = NULL; + } +} + +class LLMeshFilePicker : public LLFilePickerThread +{ +public: + LLFloaterModelPreview* mFMP; + S32 mLOD; + + LLMeshFilePicker(LLFloaterModelPreview* fmp, S32 lod) + : LLFilePickerThread(LLFilePicker::FFLOAD_COLLADA) + { + mFMP = fmp; + mLOD = lod; + } + + virtual void notify(const std::string& filename) + { + mFMP->mModelPreview->loadModel(mFile, mLOD); + } +}; + + +//----------------------------------------------------------------------------- +// LLFloaterModelPreview() +//----------------------------------------------------------------------------- +LLFloaterModelPreview::LLFloaterModelPreview(const LLSD& key) : + LLFloater(key) +{ + sInstance = this; + mLastMouseX = 0; + mLastMouseY = 0; + mGLName = 0; + mLoading = FALSE; + mDecompFloater = NULL; +} + +//----------------------------------------------------------------------------- +// postBuild() +//----------------------------------------------------------------------------- +BOOL LLFloaterModelPreview::postBuild() +{ + if (!LLFloater::postBuild()) + { + return FALSE; + } + + childSetCommitCallback("high detail combo", onHighLODCommit, this); + childSetCommitCallback("medium detail combo", onMediumLODCommit, this); + childSetCommitCallback("low detail combo", onLowLODCommit, this); + childSetCommitCallback("lowest detail combo", onLowestLODCommit, this); + childSetCommitCallback("physics detail combo", onPhysicsLODCommit, this); + + + childSetCommitCallback("high limit", onHighLimitCommit, this); + childSetCommitCallback("medium limit", onMediumLimitCommit, this); + childSetCommitCallback("low limit", onLowLimitCommit, this); + childSetCommitCallback("lowest limit", onLowestLimitCommit, this); + childSetCommitCallback("physics limit", onPhysicsLimitCommit, this); + + childSetCommitCallback("smooth normals", onSmoothNormalsCommit, this); + + childSetCommitCallback("show edges", onShowEdgesCommit, this); + childSetCommitCallback("auto fill", onAutoFillCommit, this); + + childSetCommitCallback("explode", onExplodeCommit, this); + + childSetTextArg("status", "[STATUS]", getString("status_idle")); + + for (S32 lod = 0; lod < LLModel::NUM_LODS; ++lod) + { + if (lod == LLModel::LOD_PHYSICS) + { + childSetTextArg(info_name[lod], "[HULLS]", std::string("0")); + childSetTextArg(info_name[lod], "[POINTS]", std::string("0")); + } + else + { + childSetTextArg(info_name[lod], "[TRIANGLES]", std::string("0")); + childSetTextArg(info_name[lod], "[VERTICES]", std::string("0")); + childSetTextArg(info_name[lod], "[SUBMESHES]", std::string("0")); + std::string msg = getString("required"); + childSetTextArg(info_name[lod], "[MESSAGE]", msg); + } + + childSetVisible(limit_name[lod], FALSE); + } + + //childSetLabelArg("ok_btn", "[AMOUNT]", llformat("%d",sUploadAmount)); + childSetAction("ok_btn", onUpload, this); + + childSetAction("consolidate", onConsolidate, this); + childSetAction("scrub materials", onScrubMaterials, this); + + childSetAction("decompose_btn", onDecompose, this); + + childSetCommitCallback("preview_lod_combo", onPreviewLODCommit, this); + + const U32 width = 512; + const U32 height = 512; + + mPreviewRect.set(getRect().getWidth()-PREVIEW_HPAD-width, + PREVIEW_HPAD+height, + getRect().getWidth()-PREVIEW_HPAD, + PREVIEW_HPAD); + + mModelPreview = new LLModelPreview(512, 512, this); + mModelPreview->setPreviewTarget(16.f); + + return TRUE; +} + +//----------------------------------------------------------------------------- +// LLFloaterModelPreview() +//----------------------------------------------------------------------------- +LLFloaterModelPreview::~LLFloaterModelPreview() +{ + sInstance = NULL; + + delete mModelPreview; + + if (mGLName) + { + LLImageGL::deleteTextures(1, &mGLName ); + } + + if (mDecompFloater) + { + mDecompFloater->closeFloater(); + mDecompFloater = NULL; + } +} + +void LLFloaterModelPreview::loadModel(S32 lod) +{ + mLoading = TRUE; + + (new LLMeshFilePicker(this, lod))->getFile(); +} + +void LLFloaterModelPreview::setLODMode(S32 lod, S32 mode) +{ + if (mode == 0) + { + loadModel(lod); + } + else if (mode != mModelPreview->mLODMode[lod]) + { + mModelPreview->mLODMode[lod] = mode; + mModelPreview->genLODs(lod); + } + + mModelPreview->setPreviewLOD(lod); + + + LLSpinCtrl* lim = getChild(limit_name[lod], TRUE); + + if (mode == 1) //triangle count + { + U32 tri_count = 0; + for (LLModelLoader::model_list::iterator iter = mModelPreview->mBaseModel.begin(); + iter != mModelPreview->mBaseModel.end(); ++iter) + { + tri_count += (*iter)->getNumTriangles(); + } + + lim->setMaxValue(tri_count); + lim->setVisible(TRUE); + } + else + { + lim->setVisible(FALSE); + } +} + +void LLFloaterModelPreview::setLimit(S32 lod, S32 limit) +{ + if (limit != mModelPreview->mLimit[lod]) + { + mModelPreview->mLimit[lod] = limit; + mModelPreview->genLODs(lod); + mModelPreview->setPreviewLOD(lod); + } +} + +void LLFloaterModelPreview::onPreviewLODCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview *fp =(LLFloaterModelPreview *)userdata; + + if (!fp->mModelPreview) + { + return; + } + + S32 which_mode = 0; + + LLCtrlSelectionInterface* iface = fp->childGetSelectionInterface("preview_lod_combo"); + if (iface) + { + which_mode = iface->getFirstSelectedIndex(); + } + fp->mModelPreview->setPreviewLOD(which_mode); +} + +//static +void LLFloaterModelPreview::setLODMode(S32 lod, void* userdata) +{ + LLFloaterModelPreview *fp =(LLFloaterModelPreview *)userdata; + + if (!fp->mModelPreview) + { + return; + } + + S32 which_mode = 0; + + std::string combo_name[] = + { + "lowest detail combo", + "low detail combo", + "medium detail combo", + "high detail combo", + "physics detail combo", + + "I went off the end of the combo_name array. Me so smart." + }; + + LLCtrlSelectionInterface* iface = fp->childGetSelectionInterface(combo_name[lod]); + if (iface) + { + which_mode = iface->getFirstSelectedIndex(); + } + + fp->setLODMode(lod, which_mode); +} + +//static +void LLFloaterModelPreview::onHighLODCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLODMode(3, userdata); +} + +//static +void LLFloaterModelPreview::onMediumLODCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLODMode(2, userdata); +} + +//static +void LLFloaterModelPreview::onLowLODCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLODMode(1, userdata); +} + +//static +void LLFloaterModelPreview::onLowestLODCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLODMode(0, userdata); +} + +//static +void LLFloaterModelPreview::onPhysicsLODCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLODMode(4, userdata); +} + +//static +void LLFloaterModelPreview::setLimit(S32 lod, void* userdata) +{ + LLFloaterModelPreview *fp =(LLFloaterModelPreview *)userdata; + + if (!fp->mModelPreview) + { + return; + } + + S32 limit = fp->childGetValue(limit_name[lod]).asInteger(); + + + fp->setLimit(lod, limit); +} + +//static +void LLFloaterModelPreview::onHighLimitCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLimit(3, userdata); +} + +//static +void LLFloaterModelPreview::onMediumLimitCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLimit(2, userdata); +} + +//static +void LLFloaterModelPreview::onLowLimitCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLimit(1, userdata); +} + +//static +void LLFloaterModelPreview::onLowestLimitCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLimit(0, userdata); +} + +//static +void LLFloaterModelPreview::onPhysicsLimitCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview::setLimit(4, userdata); +} + +//static +void LLFloaterModelPreview::onSmoothNormalsCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview* fp = (LLFloaterModelPreview*) userdata; + + fp->mModelPreview->smoothNormals(); +} + +//static +void LLFloaterModelPreview::onShowEdgesCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview* fp = (LLFloaterModelPreview*) userdata; + + fp->mModelPreview->refresh(); +} + +//static +void LLFloaterModelPreview::onExplodeCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview* fp = (LLFloaterModelPreview*) userdata; + + fp->mModelPreview->refresh(); +} + +//static +void LLFloaterModelPreview::onAutoFillCommit(LLUICtrl* ctrl, void* userdata) +{ + LLFloaterModelPreview* fp = (LLFloaterModelPreview*) userdata; + + fp->mModelPreview->genLODs(); +} + + +//----------------------------------------------------------------------------- +// draw() +//----------------------------------------------------------------------------- +void LLFloaterModelPreview::draw() +{ + LLFloater::draw(); + LLRect r = getRect(); + + if (!mLoading) + { + childSetTextArg("status", "[STATUS]", getString("status_idle")); + } + + childSetTextArg("description_label", "[PRIM_COST]", llformat("%d", mModelPreview->mResourceCost)); + childSetTextArg("description_label", "[TEXTURES]", llformat("%d", mModelPreview->mTextureSet.size())); + + if (mDecompFloater) + { + mDecompFloater->childSetText("status", gMeshRepo.mDecompThread->mStatus); + } + + U32 resource_cost = mModelPreview->mResourceCost*10; + + if (childGetValue("upload_textures").asBoolean()) + { + resource_cost += mModelPreview->mTextureSet.size()*10; + } + + childSetLabelArg("ok_btn", "[AMOUNT]", llformat("%d", resource_cost)); + + if (mModelPreview) + { + gGL.color3f(1.f, 1.f, 1.f); + + gGL.getTexUnit(0)->bind(mModelPreview); + + gGL.begin( LLRender::QUADS ); + { + gGL.texCoord2f(0.f, 1.f); + gGL.vertex2i(mPreviewRect.mLeft, mPreviewRect.mTop); + gGL.texCoord2f(0.f, 0.f); + gGL.vertex2i(mPreviewRect.mLeft, mPreviewRect.mBottom); + gGL.texCoord2f(1.f, 0.f); + gGL.vertex2i(mPreviewRect.mRight, mPreviewRect.mBottom); + gGL.texCoord2f(1.f, 1.f); + gGL.vertex2i(mPreviewRect.mRight, mPreviewRect.mTop); + } + gGL.end(); + + gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); + } +} + +//----------------------------------------------------------------------------- +// handleMouseDown() +//----------------------------------------------------------------------------- +BOOL LLFloaterModelPreview::handleMouseDown(S32 x, S32 y, MASK mask) +{ + if (mPreviewRect.pointInRect(x, y)) + { + bringToFront( x, y ); + gFocusMgr.setMouseCapture(this); + gViewerWindow->hideCursor(); + mLastMouseX = x; + mLastMouseY = y; + return TRUE; + } + + return LLFloater::handleMouseDown(x, y, mask); +} + +//----------------------------------------------------------------------------- +// handleMouseUp() +//----------------------------------------------------------------------------- +BOOL LLFloaterModelPreview::handleMouseUp(S32 x, S32 y, MASK mask) +{ + gFocusMgr.setMouseCapture(FALSE); + gViewerWindow->showCursor(); + return LLFloater::handleMouseUp(x, y, mask); +} + +//----------------------------------------------------------------------------- +// handleHover() +//----------------------------------------------------------------------------- +BOOL LLFloaterModelPreview::handleHover (S32 x, S32 y, MASK mask) +{ + MASK local_mask = mask & ~MASK_ALT; + + if (mModelPreview && hasMouseCapture()) + { + if (local_mask == MASK_PAN) + { + // pan here + mModelPreview->pan((F32)(x - mLastMouseX) * -0.005f, (F32)(y - mLastMouseY) * -0.005f); + } + else if (local_mask == MASK_ORBIT) + { + F32 yaw_radians = (F32)(x - mLastMouseX) * -0.01f; + F32 pitch_radians = (F32)(y - mLastMouseY) * 0.02f; + + mModelPreview->rotate(yaw_radians, pitch_radians); + } + else + { + + F32 yaw_radians = (F32)(x - mLastMouseX) * -0.01f; + F32 zoom_amt = (F32)(y - mLastMouseY) * 0.02f; + + mModelPreview->rotate(yaw_radians, 0.f); + mModelPreview->zoom(zoom_amt); + } + + + mModelPreview->refresh(); + + LLUI::setMousePositionLocal(this, mLastMouseX, mLastMouseY); + } + + if (!mPreviewRect.pointInRect(x, y) || !mModelPreview) + { + return LLFloater::handleHover(x, y, mask); + } + else if (local_mask == MASK_ORBIT) + { + gViewerWindow->setCursor(UI_CURSOR_TOOLCAMERA); + } + else if (local_mask == MASK_PAN) + { + gViewerWindow->setCursor(UI_CURSOR_TOOLPAN); + } + else + { + gViewerWindow->setCursor(UI_CURSOR_TOOLZOOMIN); + } + + return TRUE; +} + +//----------------------------------------------------------------------------- +// handleScrollWheel() +//----------------------------------------------------------------------------- +BOOL LLFloaterModelPreview::handleScrollWheel(S32 x, S32 y, S32 clicks) +{ + if (mPreviewRect.pointInRect(x, y) && mModelPreview) + { + mModelPreview->zoom((F32)clicks * -0.2f); + mModelPreview->refresh(); + } + + return TRUE; +} + +//static +void LLFloaterModelPreview::onPhysicsParamCommit(LLUICtrl* ctrl, void* data) +{ + LLCDParam* param = (LLCDParam*) data; + + LLCDResult ret = LLCD_OK; + + if (LLConvexDecomposition::getInstance() == NULL) + { + llinfos << "convex decomposition tool is a stub on this platform. cannot get decomp." << llendl; + return; + } + + if (param->mType == LLCDParam::LLCD_FLOAT) + { + ret = LLConvexDecomposition::getInstance()->setParam(param->mName, (F32) ctrl->getValue().asReal()); + } + else if (param->mType == LLCDParam::LLCD_INTEGER || + param->mType == LLCDParam::LLCD_ENUM) + { + ret = LLConvexDecomposition::getInstance()->setParam(param->mName, ctrl->getValue().asInteger()); + } + else if (param->mType == LLCDParam::LLCD_BOOLEAN) + { + ret = LLConvexDecomposition::getInstance()->setParam(param->mName, ctrl->getValue().asBoolean()); + } + + if (ret) + { + llerrs << "WTF?" << llendl; + } +} + +//static +void LLFloaterModelPreview::onPhysicsStageExecute(LLUICtrl* ctrl, void* data) +{ + LLCDStageData* stage = (LLCDStageData*) data; + + LLModel* mdl = NULL; + + if (sInstance) + { + if (sInstance->mModelPreview) + { + if (sInstance->mDecompFloater) + { + S32 idx = sInstance->mDecompFloater->childGetValue("model").asInteger(); + if (idx >= 0 && idx < sInstance->mModelPreview->mModel[LLModel::LOD_PHYSICS].size()) + { + mdl = sInstance->mModelPreview->mModel[LLModel::LOD_PHYSICS][idx]; + } + } + } + } + + if (mdl) + { + gMeshRepo.mDecompThread->execute(stage->mName, mdl); + } +} + +//static +void LLFloaterModelPreview::onPhysicsStageCancel(LLUICtrl* ctrl, void*data) +{ + gMeshRepo.mDecompThread->cancel(); +} + +void LLFloaterModelPreview::showDecompFloater() +{ + if (!mDecompFloater) + { + LLSD key; + mDecompFloater = new LLPhysicsDecompFloater(key); + + S32 left = 20; + S32 right = 270; + + S32 cur_y = 30; + + { + //add status text + LLTextBox::Params p; + p.name("status"); + p.rect(LLRect(left, cur_y, right-80, cur_y-20)); + mDecompFloater->addChild(LLUICtrlFactory::create(p)); + } + + + { //add cancel button + LLButton::Params p; + p.name("Cancel"); + p.label("Cancel"); + p.rect(LLRect(right-80, cur_y, right, cur_y-20)); + LLButton* button = LLUICtrlFactory::create(p); + button->setCommitCallback(onPhysicsStageCancel, NULL); + mDecompFloater->addChild(button); + } + + cur_y += 30; + + + const LLCDStageData* stage; + S32 stage_count = 0; + if (LLConvexDecomposition::getInstance() != NULL) + { + stage_count = LLConvexDecomposition::getInstance()->getStages(&stage); + } + + const LLCDParam* param; + S32 param_count = 0; + if (LLConvexDecomposition::getInstance() != NULL) + { + param_count = LLConvexDecomposition::getInstance()->getParameters(¶m); + } + + for (S32 j = stage_count-1; j >= 0; --j) + { + LLButton::Params p; + p.name(stage[j].mName); + p.label(stage[j].mName); + p.rect(LLRect(left, cur_y, right, cur_y-20)); + LLButton* button = LLUICtrlFactory::create(p); + button->setCommitCallback(onPhysicsStageExecute, (void*) &stage[j]); + mDecompFloater->addChild(button); + gMeshRepo.mDecompThread->mStageID[stage[j].mName] = j; + cur_y += 30; + // protected against stub by stage_count being 0 for stub above + LLConvexDecomposition::getInstance()->registerCallback(j, LLPhysicsDecomp::llcdCallback); + + for (S32 i = 0; i < param_count; ++i) + { + if (param[i].mStage != j) + { + continue; + } + + if (param[i].mType == LLCDParam::LLCD_FLOAT) + { + LLSliderCtrl::Params p; + p.name(param[i].mName); + p.label(param[i].mName); + p.rect(LLRect(left, cur_y, right, cur_y-20)); + p.min_value(param[i].mDetails.mRange.mLow.mFloat); + p.max_value(param[i].mDetails.mRange.mHigh.mFloat); + p.increment(param[i].mDetails.mRange.mDelta.mFloat); + p.decimal_digits(3); + p.initial_value(param[i].mDefault.mFloat); + LLSliderCtrl* slider = LLUICtrlFactory::create(p); + slider->setCommitCallback(onPhysicsParamCommit, (void*) ¶m[i]); + mDecompFloater->addChild(slider); + cur_y += 30; + } + else if (param[i].mType == LLCDParam::LLCD_INTEGER) + { + LLSliderCtrl::Params p; + p.name(param[i].mName); + p.label(param[i].mName); + p.rect(LLRect(left, cur_y, right, cur_y-20)); + p.min_value(param[i].mDetails.mRange.mLow.mIntOrEnumValue); + p.max_value(param[i].mDetails.mRange.mHigh.mIntOrEnumValue); + p.increment(param[i].mDetails.mRange.mDelta.mIntOrEnumValue); + p.initial_value(param[i].mDefault.mIntOrEnumValue); + LLSliderCtrl* slider = LLUICtrlFactory::create(p); + slider->setCommitCallback(onPhysicsParamCommit, (void*) ¶m[i]); + mDecompFloater->addChild(slider); + cur_y += 30; + } + else if (param[i].mType == LLCDParam::LLCD_BOOLEAN) + { + LLCheckBoxCtrl::Params p; + p.rect(LLRect(left, cur_y, right, cur_y-20)); + p.name(param[i].mName); + p.label(param[i].mName); + p.initial_value(param[i].mDefault.mBool); + LLCheckBoxCtrl* check_box = LLUICtrlFactory::create(p); + check_box->setCommitCallback(onPhysicsParamCommit, (void*) ¶m[i]); + mDecompFloater->addChild(check_box); + cur_y += 30; + } + else if (param[i].mType == LLCDParam::LLCD_ENUM) + { + LLComboBox::Params p; + p.rect(LLRect(left, cur_y, right/3, cur_y-20)); + p.name(param[i].mName); + p.label(param[i].mName); + LLComboBox* combo_box = LLUICtrlFactory::create(p); + for (S32 k = 0; k < param[i].mDetails.mEnumValues.mNumEnums; ++k) + { + combo_box->add(param[i].mDetails.mEnumValues.mEnumsArray[k].mName, + LLSD::Integer(param[i].mDetails.mEnumValues.mEnumsArray[k].mValue)); + } + combo_box->setValue(param[i].mDefault.mIntOrEnumValue); + combo_box->setCommitCallback(onPhysicsParamCommit, (void*) ¶m[i]); + mDecompFloater->addChild(combo_box); + cur_y += 30; + } + } + } + + //mesh render checkbox + { + LLCheckBoxCtrl::Params p; + p.label("Mesh: "); + p.name("render_mesh"); + p.rect(LLRect(left, cur_y, right/4, cur_y-20)); + LLCheckBoxCtrl* check = LLUICtrlFactory::create(p); + check->setValue(true); + mDecompFloater->addChild(check); + } + + //hull render checkbox + { + LLCheckBoxCtrl::Params p; + p.label("Hull: "); + p.name("render_hull"); + p.rect(LLRect(right/4, cur_y, right/2, cur_y-20)); + LLCheckBoxCtrl* check = LLUICtrlFactory::create(p); + check->setValue(true); + mDecompFloater->addChild(check); + } + + { //submesh combo box label + LLTextBox::Params p; + p.label("Model"); + p.name("model label"); + p.rect(LLRect(right/3, cur_y, right/2, cur_y-20)); + LLTextBox* text_box = LLUICtrlFactory::create(p); + text_box->setValue("Model"); + mDecompFloater->addChild(text_box); + } + { + //add submesh combo box + LLComboBox::Params p; + p.rect(LLRect(right/2, cur_y, right, cur_y-20)); + p.name("model"); + LLComboBox* combo_box = LLUICtrlFactory::create(p); + for (S32 i = 0; i < mModelPreview->mBaseModel.size(); ++i) + { + LLModel* mdl = mModelPreview->mBaseModel[i]; + combo_box->add(mdl->mLabel, i); + } + combo_box->setValue(0); + mDecompFloater->addChild(combo_box); + cur_y += 30; + } + + mDecompFloater->childSetCommitCallback("model", LLFloaterModelPreview::refresh, LLFloaterModelPreview::sInstance); + mDecompFloater->childSetCommitCallback("render_mesh", LLFloaterModelPreview::refresh, LLFloaterModelPreview::sInstance); + mDecompFloater->childSetCommitCallback("render_hull", LLFloaterModelPreview::refresh, LLFloaterModelPreview::sInstance); + + mDecompFloater->setRect(LLRect(10, cur_y+20, right+20, 10)); + } + + mDecompFloater->openFloater(); +} + +//----------------------------------------------------------------------------- +// onMouseCaptureLost() +//----------------------------------------------------------------------------- +// static +void LLFloaterModelPreview::onMouseCaptureLostModelPreview(LLMouseHandler* handler) +{ + gViewerWindow->showCursor(); +} + +//----------------------------------------------------------------------------- +// LLModelLoader +//----------------------------------------------------------------------------- +LLModelLoader::LLModelLoader(std::string filename, S32 lod, LLModelPreview* preview) +: LLThread("Model Loader"), mFilename(filename), mLod(lod), mPreview(preview), mState(STARTING), mFirstTransform(TRUE) +{ + mJointMap["mPelvis"] = "mPelvis"; + mJointMap["mTorso"] = "mTorso"; + mJointMap["mChest"] = "mChest"; + mJointMap["mNeck"] = "mNeck"; + mJointMap["mHead"] = "mHead"; + mJointMap["mSkull"] = "mSkull"; + mJointMap["mEyeRight"] = "mEyeRight"; + mJointMap["mEyeLeft"] = "mEyeLeft"; + mJointMap["mCollarLeft"] = "mCollarLeft"; + mJointMap["mShoulderLeft"] = "mShoulderLeft"; + mJointMap["mElbowLeft"] = "mElbowLeft"; + mJointMap["mWristLeft"] = "mWristLeft"; + mJointMap["mCollarRight"] = "mCollarRight"; + mJointMap["mShoulderRight"] = "mShoulderRight"; + mJointMap["mElbowRight"] = "mElbowRight"; + mJointMap["mWristRight"] = "mWristRight"; + mJointMap["mHipRight"] = "mHipRight"; + mJointMap["mKneeRight"] = "mKneeRight"; + mJointMap["mAnkleRight"] = "mAnkleRight"; + mJointMap["mFootRight"] = "mFootRight"; + mJointMap["mToeRight"] = "mToeRight"; + mJointMap["mHipLeft"] = "mHipLeft"; + mJointMap["mKneeLeft"] = "mKneeLeft"; + mJointMap["mAnkleLeft"] = "mAnkleLeft"; + mJointMap["mFootLeft"] = "mFootLeft"; + mJointMap["mToeLeft"] = "mToeLeft"; + + mJointMap["avatar_mPelvis"] = "mPelvis"; + mJointMap["avatar_mTorso"] = "mTorso"; + mJointMap["avatar_mChest"] = "mChest"; + mJointMap["avatar_mNeck"] = "mNeck"; + mJointMap["avatar_mHead"] = "mHead"; + mJointMap["avatar_mSkull"] = "mSkull"; + mJointMap["avatar_mEyeRight"] = "mEyeRight"; + mJointMap["avatar_mEyeLeft"] = "mEyeLeft"; + mJointMap["avatar_mCollarLeft"] = "mCollarLeft"; + mJointMap["avatar_mShoulderLeft"] = "mShoulderLeft"; + mJointMap["avatar_mElbowLeft"] = "mElbowLeft"; + mJointMap["avatar_mWristLeft"] = "mWristLeft"; + mJointMap["avatar_mCollarRight"] = "mCollarRight"; + mJointMap["avatar_mShoulderRight"] = "mShoulderRight"; + mJointMap["avatar_mElbowRight"] = "mElbowRight"; + mJointMap["avatar_mWristRight"] = "mWristRight"; + mJointMap["avatar_mHipRight"] = "mHipRight"; + mJointMap["avatar_mKneeRight"] = "mKneeRight"; + mJointMap["avatar_mAnkleRight"] = "mAnkleRight"; + mJointMap["avatar_mFootRight"] = "mFootRight"; + mJointMap["avatar_mToeRight"] = "mToeRight"; + mJointMap["avatar_mHipLeft"] = "mHipLeft"; + mJointMap["avatar_mKneeLeft"] = "mKneeLeft"; + mJointMap["avatar_mAnkleLeft"] = "mAnkleLeft"; + mJointMap["avatar_mFootLeft"] = "mFootLeft"; + mJointMap["avatar_mToeLeft"] = "mToeLeft"; + + + mJointMap["hip"] = "mPelvis"; + mJointMap["abdomen"] = "mTorso"; + mJointMap["chest"] = "mChest"; + mJointMap["neck"] = "mNeck"; + mJointMap["head"] = "mHead"; + mJointMap["figureHair"] = "mSkull"; + mJointMap["lCollar"] = "mCollarLeft"; + mJointMap["lShldr"] = "mShoulderLeft"; + mJointMap["lForeArm"] = "mElbowLeft"; + mJointMap["lHand"] = "mWristLeft"; + mJointMap["rCollar"] = "mCollarRight"; + mJointMap["rShldr"] = "mShoulderRight"; + mJointMap["rForeArm"] = "mElbowRight"; + mJointMap["rHand"] = "mWristRight"; + mJointMap["rThigh"] = "mHipRight"; + mJointMap["rShin"] = "mKneeRight"; + mJointMap["rFoot"] = "mFootRight"; + mJointMap["lThigh"] = "mHipLeft"; + mJointMap["lShin"] = "mKneeLeft"; + mJointMap["lFoot"] = "mFootLeft"; +} + +void stretch_extents(LLModel* model, LLMatrix4a& mat, LLVector4a& min, LLVector4a& max, BOOL& first_transform) +{ + LLVector4a box[] = + { + LLVector4a(-1, 1,-1), + LLVector4a(-1, 1, 1), + LLVector4a(-1,-1,-1), + LLVector4a(-1,-1, 1), + LLVector4a( 1, 1,-1), + LLVector4a( 1, 1, 1), + LLVector4a( 1,-1,-1), + LLVector4a( 1,-1, 1), + }; + + for (S32 j = 0; j < model->getNumVolumeFaces(); ++j) + { + const LLVolumeFace& face = model->getVolumeFace(j); + + LLVector4a center; + center.setAdd(face.mExtents[0], face.mExtents[1]); + center.mul(0.5f); + LLVector4a size; + size.setSub(face.mExtents[1],face.mExtents[0]); + size.mul(0.5f); + + for (U32 i = 0; i < 8; i++) + { + LLVector4a t; + t.setMul(size, box[i]); + t.add(center); + + LLVector4a v; + + mat.affineTransform(t, v); + + if (first_transform) + { + first_transform = FALSE; + min = max = v; + } + else + { + update_min_max(min, max, v); + } + } + } +} + +void stretch_extents(LLModel* model, LLMatrix4& mat, LLVector3& min, LLVector3& max, BOOL& first_transform) +{ + LLVector4a mina, maxa; + LLMatrix4a mata; + + mata.loadu(mat); + mina.load3(min.mV); + maxa.load3(max.mV); + + stretch_extents(model, mata, mina, maxa, first_transform); + + min.set(mina.getF32ptr()); + max.set(maxa.getF32ptr()); +} + +void LLModelLoader::run() +{ + DAE dae; + domCOLLADA* dom = dae.open(mFilename); + + if (dom) + { + daeDatabase* db = dae.getDatabase(); + + daeInt count = db->getElementCount(NULL, COLLADA_TYPE_MESH); + + daeDocument* doc = dae.getDoc(mFilename); + if (!doc) + { + llwarns << "can't find internal doc" << llendl; + return; + } + + daeElement* root = doc->getDomRoot(); + if (!root) + { + llwarns << "document has no root" << llendl; + return; + } + + //get unit scale + mTransform.setIdentity(); + + domAsset::domUnit* unit = daeSafeCast(root->getDescendant(daeElement::matchType(domAsset::domUnit::ID()))); + + if (unit) + { + F32 meter = unit->getMeter(); + mTransform.mMatrix[0][0] = meter; + mTransform.mMatrix[1][1] = meter; + mTransform.mMatrix[2][2] = meter; + } + + //get up axis rotation + LLMatrix4 rotation; + + domUpAxisType up = UPAXISTYPE_Y_UP; // default is Y_UP + domAsset::domUp_axis* up_axis = + daeSafeCast(root->getDescendant(daeElement::matchType(domAsset::domUp_axis::ID()))); + + if (up_axis) + { + up = up_axis->getValue(); + } + + if (up == UPAXISTYPE_X_UP) + { + rotation.initRotation(0.0f, 90.0f * DEG_TO_RAD, 0.0f); + } + else if (up == UPAXISTYPE_Y_UP) + { + rotation.initRotation(90.0f * DEG_TO_RAD, 0.0f, 0.0f); + } + + rotation *= mTransform; + mTransform = rotation; + + + for (daeInt idx = 0; idx < count; ++idx) + { //build map of domEntities to LLModel + domMesh* mesh = NULL; + db->getElement((daeElement**) &mesh, idx, NULL, COLLADA_TYPE_MESH); + + if (mesh) + { + LLPointer model = LLModel::loadModelFromDomMesh(mesh); + + if (model.notNull() && validate_model(model)) + { + mModelList.push_back(model); + mModel[mesh] = model; + } + } + } + + count = db->getElementCount(NULL, COLLADA_TYPE_SKIN); + for (daeInt idx = 0; idx < count; ++idx) + { //add skinned meshes as instances + domSkin* skin = NULL; + db->getElement((daeElement**) &skin, idx, NULL, COLLADA_TYPE_SKIN); + + if (skin) + { + domGeometry* geom = daeSafeCast(skin->getSource().getElement()); + + if (geom) + { + domMesh* mesh = geom->getMesh(); + if (mesh) + { + LLModel* model = mModel[mesh]; + if (model) + { + LLVector3 mesh_scale_vector; + LLVector3 mesh_translation_vector; + model->getNormalizedScaleTranslation(mesh_scale_vector, mesh_translation_vector); + + LLMatrix4 normalized_transformation; + normalized_transformation.setTranslation(mesh_translation_vector); + + LLMatrix4 mesh_scale; + mesh_scale.initScale(mesh_scale_vector); + mesh_scale *= normalized_transformation; + normalized_transformation = mesh_scale; + + glh::matrix4f inv_mat((F32*) normalized_transformation.mMatrix); + inv_mat = inv_mat.inverse(); + LLMatrix4 inverse_normalized_transformation(inv_mat.m); + + domSkin::domBind_shape_matrix* bind_mat = skin->getBind_shape_matrix(); + + if (bind_mat) + { //get bind shape matrix + domFloat4x4& dom_value = bind_mat->getValue(); + + for (int i = 0; i < 4; i++) + { + for(int j = 0; j < 4; j++) + { + model->mBindShapeMatrix.mMatrix[i][j] = dom_value[i + j*4]; + } + } + + LLMatrix4 trans = normalized_transformation; + trans *= model->mBindShapeMatrix; + model->mBindShapeMatrix = trans; + + } + + /*{ + LLMatrix4 rotation; + if (up == UPAXISTYPE_X_UP) + { + rotation.initRotation(0.0f, 90.0f * DEG_TO_RAD, 0.0f); + } + else if (up == UPAXISTYPE_Z_UP) + { + rotation.initRotation(90.0f * DEG_TO_RAD, 90.0f * DEG_TO_RAD, 0.0f); + } + + rotation *= model->mBindShapeMatrix; + model->mBindShapeMatrix = rotation; + }*/ + + + domSkin::domJoints* joints = skin->getJoints(); + + domInputLocal_Array& joint_input = joints->getInput_array(); + + for (size_t i = 0; i < joint_input.getCount(); ++i) + { + domInputLocal* input = joint_input.get(i); + xsNMTOKEN semantic = input->getSemantic(); + + if (strcmp(semantic, COMMON_PROFILE_INPUT_JOINT) == 0) + { //found joint source, fill model->mJointMap and model->mJointList + daeElement* elem = input->getSource().getElement(); + + domSource* source = daeSafeCast(elem); + if (source) + { + + + domName_array* names_source = source->getName_array(); + + if (names_source) + { + domListOfNames &names = names_source->getValue(); + + for (size_t j = 0; j < names.getCount(); ++j) + { + std::string name(names.get(j)); + if (mJointMap.find(name) != mJointMap.end()) + { + name = mJointMap[name]; + } + model->mJointList.push_back(name); + model->mJointMap[name] = j; + } + } + else + { + domIDREF_array* names_source = source->getIDREF_array(); + if (names_source) + { + xsIDREFS& names = names_source->getValue(); + + for (size_t j = 0; j < names.getCount(); ++j) + { + std::string name(names.get(j).getID()); + if (mJointMap.find(name) != mJointMap.end()) + { + name = mJointMap[name]; + } + model->mJointList.push_back(name); + model->mJointMap[name] = j; + } + } + } + } + } + else if (strcmp(semantic, COMMON_PROFILE_INPUT_INV_BIND_MATRIX) == 0) + { //found inv_bind_matrix array, fill model->mInvBindMatrix + domSource* source = daeSafeCast(input->getSource().getElement()); + if (source) + { + domFloat_array* t = source->getFloat_array(); + if (t) + { + domListOfFloats& transform = t->getValue(); + S32 count = transform.getCount()/16; + + for (S32 k = 0; k < count; ++k) + { + LLMatrix4 mat; + + for (int i = 0; i < 4; i++) + { + for(int j = 0; j < 4; j++) + { + mat.mMatrix[i][j] = transform[k*16 + i + j*4]; + } + } + + model->mInvBindMatrix.push_back(mat); + } + } + } + } + } + + + //grab raw position array + + domVertices* verts = mesh->getVertices(); + if (verts) + { + domInputLocal_Array& inputs = verts->getInput_array(); + for (size_t i = 0; i < inputs.getCount() && model->mPosition.empty(); ++i) + { + if (strcmp(inputs[i]->getSemantic(), COMMON_PROFILE_INPUT_POSITION) == 0) + { + domSource* pos_source = daeSafeCast(inputs[i]->getSource().getElement()); + if (pos_source) + { + domFloat_array* pos_array = pos_source->getFloat_array(); + if (pos_array) + { + domListOfFloats& pos = pos_array->getValue(); + + for (size_t j = 0; j < pos.getCount(); j += 3) + { + if (pos.getCount() <= j+2) + { + llerrs << "WTF?" << llendl; + } + + LLVector3 v(pos[j], pos[j+1], pos[j+2]); + + //transform from COLLADA space to volume space + v = v * inverse_normalized_transformation; + + model->mPosition.push_back(v); + } + } + } + } + } + } + + //grab skin weights array + domSkin::domVertex_weights* weights = skin->getVertex_weights(); + if (weights) + { + domInputLocalOffset_Array& inputs = weights->getInput_array(); + domFloat_array* vertex_weights = NULL; + for (size_t i = 0; i < inputs.getCount(); ++i) + { + if (strcmp(inputs[i]->getSemantic(), COMMON_PROFILE_INPUT_WEIGHT) == 0) + { + domSource* weight_source = daeSafeCast(inputs[i]->getSource().getElement()); + if (weight_source) + { + vertex_weights = weight_source->getFloat_array(); + } + } + } + + if (vertex_weights) + { + domListOfFloats& w = vertex_weights->getValue(); + domListOfUInts& vcount = weights->getVcount()->getValue(); + domListOfInts& v = weights->getV()->getValue(); + + U32 c_idx = 0; + for (size_t vc_idx = 0; vc_idx < vcount.getCount(); ++vc_idx) + { //for each vertex + daeUInt count = vcount[vc_idx]; + + //create list of weights that influence this vertex + LLModel::weight_list weight_list; + + for (daeUInt i = 0; i < count; ++i) + { //for each weight + daeInt joint_idx = v[c_idx++]; + daeInt weight_idx = v[c_idx++]; + + if (joint_idx == -1) + { + //ignore bindings to bind_shape_matrix + continue; + } + + F32 weight_value = w[weight_idx]; + + weight_list.push_back(LLModel::JointWeight(joint_idx, weight_value)); + } + + //sort by joint weight + std::sort(weight_list.begin(), weight_list.end(), LLModel::CompareWeightGreater()); + + std::vector wght; + + F32 total = 0.f; + + for (U32 i = 0; i < llmin((U32) 4, (U32) weight_list.size()); ++i) + { //take up to 4 most significant weights + if (weight_list[i].mWeight > 0.f) + { + wght.push_back( weight_list[i] ); + total += weight_list[i].mWeight; + } + } + + F32 scale = 1.f/total; + if (scale != 1.f) + { //normalize weights + for (U32 i = 0; i < wght.size(); ++i) + { + wght[i].mWeight *= scale; + } + } + + model->mSkinWeights[model->mPosition[vc_idx]] = wght; + } + + //add instance to scene for this model + + LLMatrix4 transform; + std::vector materials; + materials.resize(model->getNumVolumeFaces()); + mScene[transform].push_back(LLModelInstance(model, transform, materials)); + stretch_extents(model, transform, mExtents[0], mExtents[1], mFirstTransform); + } + } + } + } + } + } + } + + daeElement* scene = root->getDescendant("visual_scene"); + if (!scene) + { + llwarns << "document has no visual_scene" << llendl; + return; + } + + processElement(scene); + + mPreview->loadModelCallback(mLod); + } +} + +void LLModelLoader::processElement(daeElement* element) +{ + LLMatrix4 saved_transform = mTransform; + + domTranslate* translate = daeSafeCast(element); + if (translate) + { + domFloat3 dom_value = translate->getValue(); + + LLMatrix4 translation; + translation.setTranslation(LLVector3(dom_value[0], dom_value[1], dom_value[2])); + + translation *= mTransform; + mTransform = translation; + } + + domRotate* rotate = daeSafeCast(element); + if (rotate) + { + domFloat4 dom_value = rotate->getValue(); + + LLMatrix4 rotation; + rotation.initRotTrans(dom_value[3] * DEG_TO_RAD, LLVector3(dom_value[0], dom_value[1], dom_value[2]), LLVector3(0, 0, 0)); + + rotation *= mTransform; + mTransform = rotation; + } + + domScale* scale = daeSafeCast(element); + if (scale) + { + domFloat3 dom_value = scale->getValue(); + + LLMatrix4 scaling; + scaling.initScale(LLVector3(dom_value[0], dom_value[1], dom_value[2])); + + scaling *= mTransform; + mTransform = scaling; + } + + domMatrix* matrix = daeSafeCast(element); + if (matrix) + { + domFloat4x4 dom_value = matrix->getValue(); + + LLMatrix4 matrix_transform; + + for (int i = 0; i < 4; i++) + { + for(int j = 0; j < 4; j++) + { + matrix_transform.mMatrix[i][j] = dom_value[i + j*4]; + } + } + + matrix_transform *= mTransform; + mTransform = matrix_transform; + } + + domInstance_geometry* instance_geo = daeSafeCast(element); + if (instance_geo) + { + domGeometry* geo = daeSafeCast(instance_geo->getUrl().getElement()); + if (geo) + { + domMesh* mesh = daeSafeCast(geo->getDescendant(daeElement::matchType(domMesh::ID()))); + if (mesh) + { + LLModel* model = mModel[mesh]; + if (model) + { + LLMatrix4 transformation = mTransform; + + std::vector materials = getMaterials(model, instance_geo); + + // adjust the transformation to compensate for mesh normalization + LLVector3 mesh_scale_vector; + LLVector3 mesh_translation_vector; + model->getNormalizedScaleTranslation(mesh_scale_vector, mesh_translation_vector); + + LLMatrix4 mesh_translation; + mesh_translation.setTranslation(mesh_translation_vector); + mesh_translation *= transformation; + transformation = mesh_translation; + + LLMatrix4 mesh_scale; + mesh_scale.initScale(mesh_scale_vector); + mesh_scale *= transformation; + transformation = mesh_scale; + + mScene[transformation].push_back(LLModelInstance(model, transformation, materials)); + + stretch_extents(model, transformation, mExtents[0], mExtents[1], mFirstTransform); + } + } + } + } + + domInstance_node* instance_node = daeSafeCast(element); + if (instance_node) + { + daeElement* instance = instance_node->getUrl().getElement(); + if (instance) + { + processElement(instance); + } + } + + //process children + daeTArray< daeSmartRef > children = element->getChildren(); + for (S32 i = 0; i < children.getCount(); i++) + { + processElement(children[i]); + } + + domNode* node = daeSafeCast(element); + if (node) + { //this element was a node, restore transform before processiing siblings + mTransform = saved_transform; + } +} + +std::vector LLModelLoader::getMaterials(LLModel* model, domInstance_geometry* instance_geo) +{ + std::vector materials; + for (int i = 0; i < model->mMaterialList.size(); i++) + { + LLImportMaterial import_material; + + domInstance_material* instance_mat = NULL; + + domBind_material::domTechnique_common* technique = + daeSafeCast(instance_geo->getDescendant(daeElement::matchType(domBind_material::domTechnique_common::ID()))); + + if (technique) + { + daeTArray< daeSmartRef > inst_materials = technique->getChildrenByType(); + for (int j = 0; j < inst_materials.getCount(); j++) + { + std::string symbol(inst_materials[j]->getSymbol()); + + if (symbol == model->mMaterialList[i]) // found the binding + { + instance_mat = inst_materials[j]; + } + } + } + + if (instance_mat) + { + domMaterial* material = daeSafeCast(instance_mat->getTarget().getElement()); + if (material) + { + domInstance_effect* instance_effect = + daeSafeCast(material->getDescendant(daeElement::matchType(domInstance_effect::ID()))); + if (instance_effect) + { + domEffect* effect = daeSafeCast(instance_effect->getUrl().getElement()); + if (effect) + { + domProfile_COMMON* profile = + daeSafeCast(effect->getDescendant(daeElement::matchType(domProfile_COMMON::ID()))); + if (profile) + { + import_material = profileToMaterial(profile); + } + } + } + } + } + + materials.push_back(import_material); + } + + return materials; +} + +LLImportMaterial LLModelLoader::profileToMaterial(domProfile_COMMON* material) +{ + LLImportMaterial mat; + mat.mFullbright = FALSE; + + daeElement* diffuse = material->getDescendant("diffuse"); + if (diffuse) + { + domCommon_color_or_texture_type_complexType::domTexture* texture = + daeSafeCast(diffuse->getDescendant("texture")); + if (texture) + { + domCommon_newparam_type_Array newparams = material->getNewparam_array(); + for (S32 i = 0; i < newparams.getCount(); i++) + { + domFx_surface_common* surface = newparams[i]->getSurface(); + if (surface) + { + domFx_surface_init_common* init = surface->getFx_surface_init_common(); + if (init) + { + domFx_surface_init_from_common_Array init_from = init->getInit_from_array(); + + if (init_from.getCount() > i) + { + domImage* image = daeSafeCast(init_from[i]->getValue().getElement()); + if (image) + { + // we only support init_from now - embedded data will come later + domImage::domInit_from* init = image->getInit_from(); + if (init) + { + std::string filename = cdom::uriToNativePath(init->getValue().str()); + + mat.mDiffuseMap = LLViewerTextureManager::getFetchedTextureFromUrl("file://" + filename, TRUE, LLViewerTexture::BOOST_PREVIEW); + mat.mDiffuseMap->setLoadedCallback(LLModelPreview::textureLoadedCallback, 0, TRUE, FALSE, this->mPreview, NULL, NULL); + + mat.mDiffuseMap->forceToSaveRawImage(); + mat.mDiffuseMapFilename = filename; + mat.mDiffuseMapLabel = getElementLabel(material); + } + } + } + } + } + } + } + + domCommon_color_or_texture_type_complexType::domColor* color = + daeSafeCast(diffuse->getDescendant("color")); + if (color) + { + domFx_color_common domfx_color = color->getValue(); + LLColor4 value = LLColor4(domfx_color[0], domfx_color[1], domfx_color[2], domfx_color[3]); + mat.mDiffuseColor = value; + } + } + + daeElement* emission = material->getDescendant("emission"); + if (emission) + { + LLColor4 emission_color = getDaeColor(emission); + if (((emission_color[0] + emission_color[1] + emission_color[2]) / 3.0) > 0.25) + { + mat.mFullbright = TRUE; + } + } + + return mat; +} + +// try to get a decent label for this element +std::string LLModelLoader::getElementLabel(daeElement *element) +{ + // if we have a name attribute, use it + std::string name = element->getAttribute("name"); + if (name.length()) + { + return name; + } + + // if we have an ID attribute, use it + if (element->getID()) + { + return std::string(element->getID()); + } + + // if we have a parent, use it + daeElement* parent = element->getParent(); + if (parent) + { + // if parent has a name, use it + std::string name = parent->getAttribute("name"); + if (name.length()) + { + return name; + } + + // if parent has an ID, use it + if (parent->getID()) + { + return std::string(parent->getID()); + } + } + + // try to use our type + daeString element_name = element->getElementName(); + if (element_name) + { + return std::string(element_name); + } + + // if all else fails, use "object" + return std::string("object"); +} + +LLColor4 LLModelLoader::getDaeColor(daeElement* element) +{ + LLColor4 value; + domCommon_color_or_texture_type_complexType::domColor* color = + daeSafeCast(element->getDescendant("color")); + if (color) + { + domFx_color_common domfx_color = color->getValue(); + value = LLColor4(domfx_color[0], domfx_color[1], domfx_color[2], domfx_color[3]); + } + + return value; +} + +//----------------------------------------------------------------------------- +// LLModelPreview +//----------------------------------------------------------------------------- + +LLModelPreview::LLModelPreview(S32 width, S32 height, LLFloaterModelPreview* fmp) +: LLViewerDynamicTexture(width, height, 3, ORDER_MIDDLE, FALSE), LLMutex(NULL) +{ + mNeedsUpdate = TRUE; + mCameraDistance = 0.f; + mCameraYaw = 0.f; + mCameraPitch = 0.f; + mCameraZoom = 1.f; + mTextureName = 0; + mPreviewLOD = 3; + mModelLoader = NULL; + + mLODMode[0] = 0; + + for (U32 i = 1; i < LLModel::NUM_LODS; i++) + { + mLODMode[i] = 1; + mLimit[i] = 0; + } + + mFMP = fmp; + + glodInit(); +} + +LLModelPreview::~LLModelPreview() +{ + if (mModelLoader) + { + delete mModelLoader; + mModelLoader = NULL; + } + + //*HACK : *TODO : turn this back on when we understand why this crashes + //glodShutdown(); +} + +U32 LLModelPreview::calcResourceCost() +{ + rebuildUploadData(); + + U32 cost = 0; + std::set accounted; + U32 num_points = 0; + U32 num_hulls = 0; + + for (U32 i = 0; i < mUploadData.size(); ++i) + { + LLModelInstance& instance = mUploadData[i]; + + if (accounted.find(instance.mModel) == accounted.end()) + { + accounted.insert(instance.mModel); + + LLModel::physics_shape& physics_shape = instance.mLOD[LLModel::LOD_PHYSICS] ? instance.mLOD[LLModel::LOD_PHYSICS]->mPhysicsShape : instance.mModel->mPhysicsShape; + + LLSD ret = LLModel::writeModel("", + instance.mLOD[4], + instance.mLOD[3], + instance.mLOD[2], + instance.mLOD[1], + instance.mLOD[0], + physics_shape, + TRUE); + cost += gMeshRepo.calcResourceCost(ret); + + + num_hulls += physics_shape.size(); + for (U32 i = 0; i < physics_shape.size(); ++i) + { + num_points += physics_shape[i].size(); + } + } + } + + mFMP->childSetTextArg(info_name[LLModel::LOD_PHYSICS], "[HULLS]", llformat("%d",num_hulls)); + mFMP->childSetTextArg(info_name[LLModel::LOD_PHYSICS], "[POINTS]", llformat("%d",num_points)); + + updateStatusMessages(); + + return cost; +} + +void LLModelPreview::rebuildUploadData() +{ + mUploadData.clear(); + mTextureSet.clear(); + + //fill uploaddata instance vectors from scene data + + for (LLModelLoader::scene::iterator iter = mBaseScene.begin(); iter != mBaseScene.end(); ++iter) + { //for each transform in scene + for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) + { //for each instance with said transform applied + LLModelInstance& instance = *model_iter; + + LLModel* base_model = instance.mModel; + + S32 idx = 0; + for (idx = 0; idx < mBaseModel.size(); ++idx) + { //find reference instance for this model + if (mBaseModel[idx] == base_model) + { + break; + } + } + + for (U32 i = 0; i < LLModel::NUM_LODS; i++) + { //fill LOD slots based on reference model index + if (!mModel[i].empty()) + { + instance.mLOD[i] = mModel[i][idx]; + } + else + { + instance.mLOD[i] = NULL; + } + } + + mUploadData.push_back(instance); + } + } +} + + +void LLModelPreview::loadModel(std::string filename, S32 lod) +{ + LLMutexLock lock(this); + + if (mModelLoader) + { + delete mModelLoader; + mModelLoader = NULL; + } + + if (filename.empty() && mBaseModel.empty()) + { + mFMP->closeFloater(false); + return; + } + + if (lod == 3 && !mGroup.empty()) + { + for (std::map::iterator iter = mGroup.begin(); iter != mGroup.end(); ++iter) + { + glodDeleteGroup(iter->second); + stop_gloderror(); + } + + for (std::map::iterator iter = mObject.begin(); iter != mObject.end(); ++iter) + { + glodDeleteObject(iter->second); + stop_gloderror(); + } + + mGroup.clear(); + mObject.clear(); + } + + mModelLoader = new LLModelLoader(filename, lod, this); + + mModelLoader->start(); + + mFMP->childSetTextArg("status", "[STATUS]", mFMP->getString("status_reading_file")); + + if (mFMP->childGetValue("description_form").asString().empty()) + { + std::string name = gDirUtilp->getBaseFileName(filename, true); + mFMP->childSetValue("description_form", name); + } + + mFMP->openFloater(); +} + +void LLModelPreview::clearIncompatible(S32 lod) +{ + for (U32 i = 0; i <= LLModel::LOD_HIGH; i++) + { //clear out any entries that aren't compatible with this model + if (i != lod) + { + if (mModel[i].size() != mModel[lod].size()) + { + mModel[i].clear(); + mScene[i].clear(); + mVertexBuffer[i].clear(); + + if (i == LLModel::LOD_HIGH) + { + mBaseModel = mModel[lod]; + mBaseScene = mScene[lod]; + mVertexBuffer[5].clear(); + } + } + } + } +} + +void LLModelPreview::loadModelCallback(S32 lod) +{ //NOT the main thread + LLMutexLock lock(this); + if (!mModelLoader) + { + return; + } + + mModel[lod] = mModelLoader->mModelList; + mScene[lod] = mModelLoader->mScene; + mVertexBuffer[lod].clear(); + + setPreviewLOD(lod); + + + if (lod == LLModel::LOD_HIGH) + { //save a copy of the highest LOD for automatic LOD manipulation + mBaseModel = mModel[lod]; + mBaseScene = mScene[lod]; + mVertexBuffer[5].clear(); + //mModel[lod] = NULL; + } + + clearIncompatible(lod); + + mResourceCost = calcResourceCost(); + + mPreviewTarget = (mModelLoader->mExtents[0] + mModelLoader->mExtents[1]) * 0.5f; + mPreviewScale = (mModelLoader->mExtents[1] - mModelLoader->mExtents[0]) * 0.5f; + setPreviewTarget(mPreviewScale.magVec()*2.f); + + mFMP->mLoading = FALSE; + refresh(); +} + +void LLModelPreview::smoothNormals() +{ + S32 which_lod = mPreviewLOD; + + + if (which_lod > 4 || which_lod < 0 || + mModel[which_lod].empty()) + { + return; + } + + F32 angle_cutoff = mFMP->childGetValue("edge threshold").asReal(); + + angle_cutoff *= DEG_TO_RAD; + + if (which_lod == 3 && !mBaseModel.empty()) + { + for (LLModelLoader::model_list::iterator iter = mBaseModel.begin(); iter != mBaseModel.end(); ++iter) + { + (*iter)->smoothNormals(angle_cutoff); + } + + mVertexBuffer[5].clear(); + } + + for (LLModelLoader::model_list::iterator iter = mModel[which_lod].begin(); iter != mModel[which_lod].end(); ++iter) + { + (*iter)->smoothNormals(angle_cutoff); + } + + mVertexBuffer[which_lod].clear(); + refresh(); + +} + +void LLModelPreview::consolidate() +{ + std::map > composite; + + LLMatrix4 identity; + + //bake out each node in current scene to composite + for (LLModelLoader::scene::iterator iter = mScene[mPreviewLOD].begin(); iter != mScene[mPreviewLOD].end(); ++iter) + { //for each transform in current scene + LLMatrix4 mat = iter->first; + glh::matrix4f inv_trans = glh::matrix4f((F32*) mat.mMatrix).inverse().transpose(); + LLMatrix4 norm_mat(inv_trans.m); + + for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) + { //for each instance with that transform + LLModelInstance& source_instance = *model_iter; + LLModel* source = source_instance.mModel; + + if (!validate_model(source)) + { + llerrs << "Invalid model found!" << llendl; + } + + for (S32 i = 0; i < source->getNumVolumeFaces(); ++i) + { //for each face in instance + const LLVolumeFace& src_face = source->getVolumeFace(i); + LLImportMaterial& source_material = source_instance.mMaterial[i]; + + //get model in composite that is composite for this material + LLModel* model = NULL; + + if (composite.find(source_material) != composite.end()) + { + model = composite[source_material].rbegin()->mModel; + if (model->getVolumeFace(0).mNumVertices + src_face.mNumVertices > 65535) + { + model = NULL; + } + } + + if (model == NULL) + { //no model found, make new model + std::vector materials; + materials.push_back(source_material); + LLVolumeParams volume_params; + volume_params.setType(LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE); + model = new LLModel(volume_params, 0.f); + model->mLabel = source->mLabel; + model->setNumVolumeFaces(0); + composite[source_material].push_back(LLModelInstance(model, identity, materials)); + } + + model->appendFace(src_face, source->mMaterialList[i], mat, norm_mat); + } + } + } + + + //condense composite into as few LLModel instances as possible + LLModelLoader::model_list new_model; + std::vector instance_list; + + LLVolumeParams volume_params; + volume_params.setType(LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE); + + std::vector empty_material; + LLModelInstance cur_instance(new LLModel(volume_params, 0.f), identity, empty_material); + cur_instance.mModel->setNumVolumeFaces(0); + + BOOL first_transform = TRUE; + + LLModelLoader::scene new_scene; + LLVector3 min,max; + + for (std::map >::iterator iter = composite.begin(); + iter != composite.end(); + ++iter) + { + std::map >::iterator next_iter = iter; ++next_iter; + + for (std::vector::iterator instance_iter = iter->second.begin(); + instance_iter != iter->second.end(); + ++instance_iter) + { + LLModel* source = instance_iter->mModel; + + if (instance_iter->mMaterial.size() != 1) + { + llerrs << "WTF?" << llendl; + } + + if (source->getNumVolumeFaces() != 1) + { + llerrs << "WTF?" << llendl; + } + + if (source->mMaterialList.size() != 1) + { + llerrs << "WTF?" << llendl; + } + + cur_instance.mModel->addFace(source->getVolumeFace(0)); + cur_instance.mMaterial.push_back(instance_iter->mMaterial[0]); + cur_instance.mModel->mMaterialList.push_back(source->mMaterialList[0]); + + BOOL last_model = FALSE; + + std::vector::iterator next_instance = instance_iter; ++next_instance; + + if (next_iter == composite.end() && + next_instance == iter->second.end()) + { + last_model = TRUE; + } + + if (last_model || cur_instance.mModel->getNumVolumeFaces() >= MAX_MODEL_FACES) + { + cur_instance.mModel->mLabel = source->mLabel; + + cur_instance.mModel->optimizeVolumeFaces(); + cur_instance.mModel->normalizeVolumeFaces(); + + if (!validate_model(cur_instance.mModel)) + { + llerrs << "Invalid model detected." << llendl; + } + + new_model.push_back(cur_instance.mModel); + + LLMatrix4 transformation = LLMatrix4(); + + // adjust the transformation to compensate for mesh normalization + LLVector3 mesh_scale_vector; + LLVector3 mesh_translation_vector; + cur_instance.mModel->getNormalizedScaleTranslation(mesh_scale_vector, mesh_translation_vector); + + LLMatrix4 mesh_translation; + mesh_translation.setTranslation(mesh_translation_vector); + mesh_translation *= transformation; + transformation = mesh_translation; + + LLMatrix4 mesh_scale; + mesh_scale.initScale(mesh_scale_vector); + mesh_scale *= transformation; + transformation = mesh_scale; + + cur_instance.mTransform = transformation; + + new_scene[transformation].push_back(cur_instance); + stretch_extents(cur_instance.mModel, transformation, min, max, first_transform); + + if (!last_model) + { + cur_instance = LLModelInstance(new LLModel(volume_params, 0.f), identity, empty_material); + cur_instance.mModel->setNumVolumeFaces(0); + } + } + } + } + + mScene[mPreviewLOD] = new_scene; + mModel[mPreviewLOD] = new_model; + mVertexBuffer[mPreviewLOD].clear(); + + if (mPreviewLOD == LLModel::LOD_HIGH) + { + mBaseScene = new_scene; + mBaseModel = new_model; + mVertexBuffer[5].clear(); + } + + mPreviewTarget = (min+max)*0.5f; + mPreviewScale = (max-min)*0.5f; + setPreviewTarget(mPreviewScale.magVec()*2.f); + + clearIncompatible(mPreviewLOD); + + mResourceCost = calcResourceCost(); + refresh(); +} + +void LLModelPreview::scrubMaterials() +{ + for (LLModelLoader::scene::iterator iter = mScene[mPreviewLOD].begin(); iter != mScene[mPreviewLOD].end(); ++iter) + { //for each transform in current scene + for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) + { //for each instance with that transform + LLModelInstance& source_instance = *model_iter; + LLModel* source = source_instance.mModel; + + for (S32 i = 0; i < source->getNumVolumeFaces(); ++i) + { //for each face in instance + LLImportMaterial& source_material = source_instance.mMaterial[i]; + + //clear material info + source_material.mDiffuseColor = LLColor4(1,1,1,1); + source_material.mDiffuseMap = NULL; + source_material.mDiffuseMapFilename.clear(); + source_material.mDiffuseMapLabel.clear(); + source_material.mFullbright = false; + } + } + } + + + mVertexBuffer[mPreviewLOD].clear(); + + if (mPreviewLOD == LLModel::LOD_HIGH) + { + mBaseScene = mScene[mPreviewLOD]; + mBaseModel = mModel[mPreviewLOD]; + mVertexBuffer[5].clear(); + } + + mResourceCost = calcResourceCost(); + refresh(); +} + +void LLModelPreview::genLODs(S32 which_lod) +{ + if (mBaseModel.empty()) + { + return; + } + + LLVertexBuffer::unbind(); + + stop_gloderror(); + static U32 cur_name = 1; + + S32 limit = -1; + + if (which_lod != -1) + { + limit = mLimit[which_lod]; + } + + U32 triangle_count = 0; + + for (LLModelLoader::model_list::iterator iter = mBaseModel.begin(); iter != mBaseModel.end(); ++iter) + { + LLModel* mdl = *iter; + for (S32 i = 0; i < mdl->getNumVolumeFaces(); ++i) + { + triangle_count += mdl->getVolumeFace(i).mNumIndices/3; + } + } + + U32 base_triangle_count = triangle_count; + + U32 type_mask = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0; + + for (LLModelLoader::model_list::iterator iter = mBaseModel.begin(); iter != mBaseModel.end(); ++iter) + { //build GLOD objects for each model in base model list + LLModel* mdl = *iter; + if (mGroup[mdl] == 0) + { + mGroup[mdl] = cur_name++; + mObject[mdl] = cur_name++; + + glodNewGroup(mGroup[mdl]); + stop_gloderror(); + + glodGroupParameteri(mGroup[mdl], GLOD_ADAPT_MODE, GLOD_TRIANGLE_BUDGET); + stop_gloderror(); + + glodGroupParameteri(mGroup[mdl], GLOD_ERROR_MODE, GLOD_OBJECT_SPACE_ERROR); + stop_gloderror(); + + glodGroupParameterf(mGroup[mdl], GLOD_OBJECT_SPACE_ERROR_THRESHOLD, 0.025f); + stop_gloderror(); + + glodNewObject(mObject[mdl], mGroup[mdl], GLOD_DISCRETE); + stop_gloderror(); + + if (iter == mBaseModel.begin() && !mdl->mSkinWeights.empty()) + { //regenerate vertex buffer for skinned models to prevent animation feedback during LOD generation + mVertexBuffer[5].clear(); + } + + if (mVertexBuffer[5].empty()) + { + genBuffers(5); + } + + U32 tri_count = 0; + for (U32 i = 0; i < mVertexBuffer[5][mdl].size(); ++i) + { + mVertexBuffer[5][mdl][i]->setBuffer(type_mask); + U32 num_indices = mVertexBuffer[5][mdl][i]->getNumIndices(); + if (num_indices > 2) + { + glodInsertElements(mObject[mdl], i, GL_TRIANGLES, num_indices, GL_UNSIGNED_SHORT, mVertexBuffer[5][mdl][i]->getIndicesPointer(), 0, 0.f); + } + tri_count += num_indices/3; + stop_gloderror(); + } + + //store what percentage of total model (in terms of triangle count) this model makes up + mPercentage[mdl] = (F32) tri_count / (F32) base_triangle_count; + + //build glodobject + glodBuildObject(mObject[mdl]); + if (stop_gloderror()) + { + glodDeleteGroup(mGroup[mdl]); + stop_gloderror(); + glodDeleteObject(mObject[mdl]); + stop_gloderror(); + + mGroup[mdl] = 0; + mObject[mdl] = 0; + + if (which_lod == -1) + { + mModel[LLModel::LOD_HIGH] = mBaseModel; + } + + return; + } + + } + + if (which_lod == -1 || mLODMode[which_lod] == 1) + { + //generating LODs for all entries, or this entry has a triangle budget + glodGroupParameteri(mGroup[mdl], GLOD_ADAPT_MODE, GLOD_TRIANGLE_BUDGET); + stop_gloderror(); + } + else + { + //this entry uses error mode + glodGroupParameteri(mGroup[mdl], GLOD_ADAPT_MODE, GLOD_OBJECT_SPACE_ERROR); + stop_gloderror(); + } + + if (which_lod != -1 && mLODMode[which_lod] == 2) + { + glodGroupParameterf(mGroup[mdl], GLOD_OBJECT_SPACE_ERROR_THRESHOLD, llmax(limit/100.f, 0.01f)); + stop_gloderror(); + } + else + { + glodGroupParameterf(mGroup[mdl], GLOD_OBJECT_SPACE_ERROR_THRESHOLD, 0.025f); + stop_gloderror(); + } + } + + + S32 start = LLModel::LOD_HIGH; + S32 end = 0; + + BOOL error_mode = FALSE; + + if (which_lod != -1) + { + start = end = which_lod; + + if (mLODMode[which_lod] == 2) + { + error_mode = TRUE; + } + } + + + for (S32 lod = start; lod >= end; --lod) + { + if (!error_mode) + { + if (which_lod == -1) + { + if (lod < start) + { + triangle_count /= 3; + } + } + else + { + triangle_count = limit; + } + } + + mModel[lod].clear(); + mModel[lod].resize(mBaseModel.size()); + mVertexBuffer[lod].clear(); + + U32 actual_tris = 0; + U32 actual_verts = 0; + U32 submeshes = 0; + + for (U32 mdl_idx = 0; mdl_idx < mBaseModel.size(); ++mdl_idx) + { + LLModel* base = mBaseModel[mdl_idx]; + + U32 target_count = U32(mPercentage[base]*triangle_count); + + if (error_mode) + { + target_count = base->getNumTriangles(); + } + + if (target_count < 4) + { + target_count = 4; + } + + if (which_lod == -1 || mLODMode[which_lod] == 1) + { + glodGroupParameteri(mGroup[base], GLOD_MAX_TRIANGLES, target_count); + stop_gloderror(); + } + + glodAdaptGroup(mGroup[base]); + stop_gloderror(); + + GLint patch_count = 0; + glodGetObjectParameteriv(mObject[base], GLOD_NUM_PATCHES, &patch_count); + stop_gloderror(); + + LLVolumeParams volume_params; + volume_params.setType(LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE); + mModel[lod][mdl_idx] = new LLModel(volume_params, 0.f); + + GLint* sizes = new GLint[patch_count*2]; + glodGetObjectParameteriv(mObject[base], GLOD_PATCH_SIZES, sizes); + stop_gloderror(); + + GLint* names = new GLint[patch_count]; + glodGetObjectParameteriv(mObject[base], GLOD_PATCH_NAMES, names); + stop_gloderror(); + + mModel[lod][mdl_idx]->setNumVolumeFaces(patch_count); + + LLModel* target_model = mModel[lod][mdl_idx]; + + for (GLint i = 0; i < patch_count; ++i) + { + LLPointer buff = new LLVertexBuffer(type_mask, 0); + + if (sizes[i*2+1] > 0 && sizes[i*2] > 0) + { + buff->allocateBuffer(sizes[i*2+1], sizes[i*2], true); + buff->setBuffer(type_mask); + glodFillElements(mObject[base], names[i], GL_UNSIGNED_SHORT, buff->getIndicesPointer()); + stop_gloderror(); + } + else + { //this face was eliminated, create a dummy triangle (one vertex, 3 indices, all 0) + buff->allocateBuffer(1, 3, true); + memset(buff->getMappedData(), 0, buff->getSize()); + memset(buff->getIndicesPointer(), 0, buff->getIndicesSize()); + } + + buff->validateRange(0, buff->getNumVerts()-1, buff->getNumIndices(), 0); + + LLStrider pos; + LLStrider norm; + LLStrider tc; + LLStrider index; + + buff->getVertexStrider(pos); + buff->getNormalStrider(norm); + buff->getTexCoord0Strider(tc); + buff->getIndexStrider(index); + + + target_model->setVolumeFaceData(names[i], pos, norm, tc, index, buff->getNumVerts(), buff->getNumIndices()); + actual_tris += buff->getNumIndices()/3; + actual_verts += buff->getNumVerts(); + ++submeshes; + + if (!validate_face(target_model->getVolumeFace(names[i]))) + { + llerrs << "Invalid face generated during LOD generation." << llendl; + } + } + + //blind copy skin weights and just take closest skin weight to point on + //decimated mesh for now (auto-generating LODs with skin weights is still a bit + //of an open problem). + target_model->mPosition = base->mPosition; + target_model->mSkinWeights = base->mSkinWeights; + target_model->mJointMap = base->mJointMap; + target_model->mJointList = base->mJointList; + target_model->mInvBindMatrix = base->mInvBindMatrix; + target_model->mBindShapeMatrix = base->mBindShapeMatrix; + + if (!validate_model(target_model)) + { + llerrs << "Invalid model generated when creating LODs" << llendl; + } + + delete [] sizes; + delete [] names; + } + + //rebuild scene based on mBaseScene + mScene[lod].clear(); + mScene[lod] = mBaseScene; + + for (U32 i = 0; i < mBaseModel.size(); ++i) + { + LLModel* mdl = mBaseModel[i]; + LLModel* target = mModel[lod][i]; + if (target) + { + for (LLModelLoader::scene::iterator iter = mScene[lod].begin(); iter != mScene[lod].end(); ++iter) + { + for (U32 j = 0; j < iter->second.size(); ++j) + { + if (iter->second[j].mModel == mdl) + { + iter->second[j].mModel = target; + } + } + } + } + } + + mResourceCost = calcResourceCost(); + } +} + +void LLModelPreview::updateStatusMessages() +{ + //triangle/vertex/submesh count for each mesh asset for each lod + std::vector tris[LLModel::NUM_LODS]; + std::vector verts[LLModel::NUM_LODS]; + std::vector submeshes[LLModel::NUM_LODS]; + + //total triangle/vertex/submesh count for each lod + S32 total_tris[LLModel::NUM_LODS]; + S32 total_verts[LLModel::NUM_LODS]; + S32 total_submeshes[LLModel::NUM_LODS]; + + for (S32 lod = 0; lod <= LLModel::LOD_HIGH; ++lod) + { + //initialize total for this lod to 0 + total_tris[lod] = total_verts[lod] = total_submeshes[lod] = 0; + + for (U32 i = 0; i < mModel[lod].size(); ++i) + { //for each model in the lod + S32 cur_tris = 0; + S32 cur_verts = 0; + S32 cur_submeshes = mModel[lod][i]->getNumVolumeFaces(); + + for (S32 j = 0; j < cur_submeshes; ++j) + { //for each submesh (face), add triangles and vertices to current total + const LLVolumeFace& face = mModel[lod][i]->getVolumeFace(j); + cur_tris += face.mNumIndices/3; + cur_verts += face.mNumVertices; + } + + //add this model to the lod total + total_tris[lod] += cur_tris; + total_verts[lod] += cur_verts; + total_submeshes[lod] += cur_submeshes; + + //store this model's counts to asset data + tris[lod].push_back(cur_tris); + verts[lod].push_back(cur_verts); + submeshes[lod].push_back(cur_submeshes); + } + } + + + std::string upload_message; + + for (S32 lod = 0; lod <= LLModel::LOD_HIGH; ++lod) + { + mFMP->childSetTextArg(info_name[lod], "[TRIANGLES]", llformat("%d", total_tris[lod])); + mFMP->childSetTextArg(info_name[lod], "[VERTICES]", llformat("%d", total_verts[lod])); + mFMP->childSetTextArg(info_name[lod], "[SUBMESHES]", llformat("%d", total_submeshes[lod])); + + std::string message = "good"; + + const U32 lod_high = LLModel::LOD_HIGH; + + if (lod != lod_high) + { + if (total_submeshes[lod] == 0) + { //no model loaded for this lod, see if one is required + for (U32 i = 0; i < verts[lod_high].size(); ++i) + { + const F32 ratio = 0.5f; + const S32 required_verts = 128; + + F32 scaler = powf(0.5f, lod_high-lod); + S32 max_verts = verts[lod_high][i]*scaler; + + if (max_verts > required_verts) + { //some model in this slot might have more than 128 vertices + + //if any model higher up the chain has more than 128 vertices, + // lod is required here + for (S32 j = lod+1; j <= LLModel::LOD_HIGH; ++j) + { + if (verts[j].size() > i && verts[j][i] > 128) + { + message = "required"; + upload_message = "missing_lod"; + } + } + } + } + } + else if (total_submeshes[lod] != total_submeshes[lod_high]) + { + message = "mesh_mismatch"; + upload_message = "bad_lod"; + } + else if (tris[lod].size() != tris[lod_high].size()) + { + message = "model_mismatch"; + upload_message = "bad_lod"; + } + else + { + for (U32 i = 0; i < verts[lod].size(); ++i) + { + const F32 ratio = 0.5f; + + F32 scaler = powf(0.5f, lod_high-lod); + S32 max_verts = verts[lod_high][i]*scaler; + + if (verts[lod][i] > max_verts) + { + message = "too_heavy"; + upload_message = "bad_lod"; + } + } + } + } + + mFMP->childSetTextArg(info_name[lod], "[MESSAGE]", mFMP->getString(message)); + } + + if (upload_message.empty()) + { + mFMP->childSetTextArg("upload_message", "[MESSAGE]", std::string("")); + mFMP->childEnable("ok_btn"); + } + else + { + mFMP->childSetTextArg("upload_message", "[MESSAGE]", mFMP->getString(upload_message)); + mFMP->childDisable("ok_btn"); + } +} + +void LLModelPreview::setPreviewTarget(F32 distance) +{ + mCameraDistance = distance; + mCameraZoom = 1.f; + mCameraPitch = 0.f; + mCameraYaw = 0.f; + mCameraOffset.clearVec(); +} + +void LLModelPreview::genBuffers(S32 lod) +{ + U32 tri_count = 0; + U32 vertex_count = 0; + U32 mesh_count = 0; + + LLModelLoader::model_list* model = NULL; + + if (lod < 0 || lod > 4) + { + model = &mBaseModel; + lod = 5; + } + else + { + model = &(mModel[lod]); + } + + if (!mVertexBuffer[lod].empty()) + { + mVertexBuffer[lod].clear(); + } + + mVertexBuffer[lod].clear(); + + LLModelLoader::model_list::iterator base_iter = mBaseModel.begin(); + + for (LLModelLoader::model_list::iterator iter = model->begin(); iter != model->end(); ++iter) + { + LLModel* mdl = *iter; + if (!mdl) + { + continue; + } + + LLModel* base_mdl = *base_iter; + base_iter++; + + for (S32 i = 0; i < mdl->getNumVolumeFaces(); ++i) + { + const LLVolumeFace &vf = mdl->getVolumeFace(i); + U32 num_vertices = vf.mNumVertices; + U32 num_indices = vf.mNumIndices; + + if (!num_vertices || ! num_indices) + { + continue; + } + + LLVertexBuffer* vb = NULL; + + bool skinned = !mdl->mSkinWeights.empty(); + + U32 mask = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0; + + if (skinned) + { + mask |= LLVertexBuffer::MAP_WEIGHT4; + } + + vb = new LLVertexBuffer(mask, 0); + + vb->allocateBuffer(num_vertices, num_indices, TRUE); + + LLStrider vertex_strider; + LLStrider normal_strider; + LLStrider tc_strider; + LLStrider index_strider; + LLStrider weights_strider; + + vb->getVertexStrider(vertex_strider); + vb->getNormalStrider(normal_strider); + vb->getTexCoord0Strider(tc_strider); + vb->getIndexStrider(index_strider); + + if (skinned) + { + vb->getWeight4Strider(weights_strider); + } + + LLVector4a::memcpyNonAliased16((F32*) vertex_strider.get(), (F32*) vf.mPositions, num_vertices*4*sizeof(F32)); + LLVector4a::memcpyNonAliased16((F32*) tc_strider.get(), (F32*) vf.mTexCoords, num_vertices*2*sizeof(F32)); + LLVector4a::memcpyNonAliased16((F32*) normal_strider.get(), (F32*) vf.mNormals, num_vertices*4*sizeof(F32)); + + if (skinned) + { + // build vertices and normals + for (U32 i = 0; i < num_vertices; i++) + { + //find closest weight to vf.mVertices[i].mPosition + LLVector3 pos(vf.mPositions[i].getF32ptr()); + + LLModel::weight_list weight_list = base_mdl->getJointInfluences(pos); + + LLVector4 w(0,0,0,0); + if (weight_list.size() > 4) + { + llerrs << "WTF?" << llendl; + } + + for (U32 i = 0; i < weight_list.size(); ++i) + { + F32 wght = llmin(weight_list[i].mWeight, 0.999999f); + F32 joint = (F32) weight_list[i].mJointIdx; + w.mV[i] = joint + wght; + } + + *(weights_strider++) = w; + } + } + + // build indices + for (U32 i = 0; i < num_indices; i++) + { + *(index_strider++) = vf.mIndices[i]; + } + + mVertexBuffer[lod][mdl].push_back(vb); + + vertex_count += num_vertices; + tri_count += num_indices/3; + ++mesh_count; + + } + } + + if (lod == 4) + { + for (U32 i = 0; i < 4; i++) + { + LLSpinCtrl* lim = mFMP->getChild(limit_name[i], TRUE); + + lim->setMaxValue(tri_count); + } + } +} + +//----------------------------------------------------------------------------- +// render() +//----------------------------------------------------------------------------- +BOOL LLModelPreview::render() +{ + LLMutexLock lock(this); + mNeedsUpdate = FALSE; + + S32 width = getWidth(); + S32 height = getHeight(); + + LLGLSUIDefault def; + LLGLDisable no_blend(GL_BLEND); + LLGLEnable cull(GL_CULL_FACE); + LLGLDepthTest depth(GL_TRUE); + LLGLDisable fog(GL_FOG); + + glMatrixMode(GL_PROJECTION); + gGL.pushMatrix(); + glLoadIdentity(); + glOrtho(0.0f, width, 0.0f, height, -1.0f, 1.0f); + + glMatrixMode(GL_MODELVIEW); + gGL.pushMatrix(); + glLoadIdentity(); + + gGL.color4f(0.15f, 0.2f, 0.3f, 1.f); + + gl_rect_2d_simple( width, height ); + + bool avatar_preview = false; + for (LLModelLoader::scene::iterator iter = mScene[mPreviewLOD].begin(); iter != mScene[mPreviewLOD].end(); ++iter) + { + for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) + { + LLModelInstance& instance = *model_iter; + LLModel* model = instance.mModel; + if (!model->mSkinWeights.empty()) + { + avatar_preview = true; + } + } + } + + mFMP->childSetEnabled("consolidate", !avatar_preview); + + F32 explode = mFMP->childGetValue("explode").asReal(); + + glMatrixMode(GL_PROJECTION); + gGL.popMatrix(); + + glMatrixMode(GL_MODELVIEW); + gGL.popMatrix(); + + glClear(GL_DEPTH_BUFFER_BIT); + + LLViewerCamera::getInstance()->setAspect((F32) width / height ); + LLViewerCamera::getInstance()->setView(LLViewerCamera::getInstance()->getDefaultFOV() / mCameraZoom); + + LLVector3 target_pos = mPreviewTarget; + LLVector3 offset = mCameraOffset; + + F32 z_near = llmax(mCameraDistance-mPreviewScale.magVec(), 0.001f); + F32 z_far = mCameraDistance+mPreviewScale.magVec(); + + if (avatar_preview) + { + target_pos = gAgentAvatarp->getPositionAgent(); + z_near = 0.01f; + z_far = 1024.f; + mCameraDistance = 16.f; + + //render avatar previews every frame + refresh(); + } + + LLQuaternion camera_rot = LLQuaternion(mCameraPitch, LLVector3::y_axis) * + LLQuaternion(mCameraYaw, LLVector3::z_axis); + + LLQuaternion av_rot = camera_rot; + LLViewerCamera::getInstance()->setOriginAndLookAt( + target_pos + ((LLVector3(mCameraDistance, 0.f, 0.f) + offset) * av_rot), // camera + LLVector3::z_axis, // up + target_pos); // point of interest + + + LLViewerCamera::getInstance()->setPerspective(FALSE, mOrigin.mX, mOrigin.mY, width, height, FALSE, z_near, z_far); + + stop_glerror(); + + gPipeline.enableLightsAvatar(); + + gGL.pushMatrix(); + const F32 BRIGHTNESS = 0.9f; + gGL.color3f(BRIGHTNESS, BRIGHTNESS, BRIGHTNESS); + + LLGLEnable normalize(GL_NORMALIZE); + + if (!mBaseModel.empty() && mVertexBuffer[5].empty()) + { + genBuffers(-1); + genBuffers(3); + //genLODs(); + } + + bool physics = (mPreviewLOD == LLModel::LOD_PHYSICS); + + S32 physics_idx = -1; + + bool render_mesh = true; + bool render_hull = false; + + if (physics && mFMP->mDecompFloater) + { + physics_idx = mFMP->mDecompFloater->childGetValue("model").asInteger(); + render_mesh = mFMP->mDecompFloater->childGetValue("render_mesh").asBoolean(); + render_hull = mFMP->mDecompFloater->childGetValue("render_hull").asBoolean(); + } + + if (!mModel[mPreviewLOD].empty()) + { + if (mVertexBuffer[mPreviewLOD].empty()) + { + genBuffers(mPreviewLOD); + } + + if (!avatar_preview) + { + for (LLModelLoader::scene::iterator iter = mScene[mPreviewLOD].begin(); iter != mScene[mPreviewLOD].end(); ++iter) + { + gGL.pushMatrix(); + LLMatrix4 mat = iter->first; + + glMultMatrixf((GLfloat*) mat.mMatrix); + + for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) + { + LLModelInstance& instance = *model_iter; + LLModel* model = instance.mModel; + + if (instance.mTransform != mat) + { + llerrs << "WTF?" << llendl; + } + + if (render_mesh) + { + for (U32 i = 0; i < mVertexBuffer[mPreviewLOD][model].size(); ++i) + { + LLVertexBuffer* buffer = mVertexBuffer[mPreviewLOD][model][i]; + + buffer->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0); + if (physics) + { + if (physics_idx > -1 && model == mModel[mPreviewLOD][physics_idx]) + { + glColor4f(1,0,0,1); + } + else + { + glColor4f(0.75f, 0.75f, 0.75f, 1.f); + } + } + else + { + glColor4fv(instance.mMaterial[i].mDiffuseColor.mV); + if (i < instance.mMaterial.size() && instance.mMaterial[i].mDiffuseMap.notNull()) + { + gGL.getTexUnit(0)->bind(instance.mMaterial[i].mDiffuseMap, true); + if (instance.mMaterial[i].mDiffuseMap->getDiscardLevel() > -1) + { + mTextureSet.insert(instance.mMaterial[i].mDiffuseMap); + } + } + } + + buffer->drawRange(LLRender::TRIANGLES, 0, buffer->getNumVerts()-1, buffer->getNumIndices(), 0); + gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); + glColor3f(0.4f, 0.4f, 0.4f); + + if (mFMP->childGetValue("show edges").asBoolean()) + { + glLineWidth(3.f); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + buffer->drawRange(LLRender::TRIANGLES, 0, buffer->getNumVerts()-1, buffer->getNumIndices(), 0); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glLineWidth(1.f); + } + } + } + + if (render_hull) + { + LLPhysicsDecomp* decomp = gMeshRepo.mDecompThread; + if (decomp) + { + LLMutexLock(decomp->mMutex); + + std::map > >::iterator iter = + mPhysicsMesh.find(model); + if (iter != mPhysicsMesh.end()) + { + for (U32 i = 0; i < iter->second.size(); ++i) + { + if (explode > 0.f) + { + gGL.pushMatrix(); + + LLVector3 offset = model->mHullCenter[i]-model->mPhysicsCenter; + offset *= explode; + + gGL.translatef(offset.mV[0], offset.mV[1], offset.mV[2]); + } + + static std::vector hull_colors; + + if (i+1 >= hull_colors.size()) + { + hull_colors.push_back(LLColor4U(rand()%128+127, rand()%128+127, rand()%128+127, 255)); + } + + LLVertexBuffer* buff = iter->second[i]; + if (buff) + { + buff->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL); + + glColor4ubv(hull_colors[i].mV); + buff->drawArrays(LLRender::TRIANGLES, 0, buff->getNumVerts()); + + if (mFMP->childGetValue("show edges").asBoolean()) + { + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + glLineWidth(3.f); + glColor4ub(hull_colors[i].mV[0]/2, hull_colors[i].mV[1]/2, hull_colors[i].mV[2]/2, 255); + buff->drawArrays(LLRender::TRIANGLES, 0, buff->getNumVerts()); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glLineWidth(1.f); + } + } + + if (explode > 0.f) + { + gGL.popMatrix(); + } + } + } + } + + //mFMP->childSetTextArg(info_name[LLModel::LOD_PHYSICS], "[HULLS]", llformat("%d",decomp->mHulls.size())); + //mFMP->childSetTextArg(info_name[LLModel::LOD_PHYSICS], "[POINTS]", llformat("%d",decomp->mTotalPoints)); + } + } + + gGL.popMatrix(); + } + + if (physics) + { + mPreviewLOD = LLModel::LOD_PHYSICS; + } + } + else + { + LLVOAvatarSelf* avatar = gAgentAvatarp; + target_pos = avatar->getPositionAgent(); + + LLViewerCamera::getInstance()->setOriginAndLookAt( + target_pos + ((LLVector3(mCameraDistance, 0.f, 0.f) + offset) * av_rot), // camera + LLVector3::z_axis, // up + target_pos); // point of interest + + avatar->renderCollisionVolumes(); + + for (LLModelLoader::scene::iterator iter = mScene[mPreviewLOD].begin(); iter != mScene[mPreviewLOD].end(); ++iter) + { + for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) + { + LLModelInstance& instance = *model_iter; + LLModel* model = instance.mModel; + + if (!model->mSkinWeights.empty()) + { + for (U32 i = 0; i < mVertexBuffer[mPreviewLOD][model].size(); ++i) + { + LLVertexBuffer* buffer = mVertexBuffer[mPreviewLOD][model][i]; + + const LLVolumeFace& face = model->getVolumeFace(i); + + LLStrider position; + buffer->getVertexStrider(position); + + LLStrider weight; + buffer->getWeight4Strider(weight); + + //quick 'n dirty software vertex skinning + + //build matrix palette + LLMatrix4 mat[64]; + for (U32 j = 0; j < model->mJointList.size(); ++j) + { + LLJoint* joint = avatar->getJoint(model->mJointList[j]); + if (joint) + { + mat[j] = model->mInvBindMatrix[j]; + mat[j] *= joint->getWorldMatrix(); + } + } + + for (U32 j = 0; j < buffer->getRequestedVerts(); ++j) + { + LLMatrix4 final_mat; + final_mat.mMatrix[0][0] = final_mat.mMatrix[1][1] = final_mat.mMatrix[2][2] = final_mat.mMatrix[3][3] = 0.f; + + LLVector4 wght; + S32 idx[4]; + + F32 scale = 0.f; + for (U32 k = 0; k < 4; k++) + { + F32 w = weight[j].mV[k]; + + idx[k] = (S32) floorf(w); + wght.mV[k] = w - floorf(w); + scale += wght.mV[k]; + } + + wght *= 1.f/scale; + + for (U32 k = 0; k < 4; k++) + { + F32* src = (F32*) mat[idx[k]].mMatrix; + F32* dst = (F32*) final_mat.mMatrix; + + F32 w = wght.mV[k]; + + for (U32 l = 0; l < 16; l++) + { + dst[l] += src[l]*w; + } + } + + //VECTORIZE THIS + LLVector3 v(face.mPositions[j].getF32ptr()); + + v = v * model->mBindShapeMatrix; + v = v * final_mat; + + position[j] = v; + } + + buffer->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0); + glColor4fv(instance.mMaterial[i].mDiffuseColor.mV); + gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); + buffer->draw(LLRender::TRIANGLES, buffer->getNumIndices(), 0); + glColor3f(0.4f, 0.4f, 0.4f); + + if (mFMP->childGetValue("show edges").asBoolean()) + { + glLineWidth(3.f); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + buffer->draw(LLRender::TRIANGLES, buffer->getNumIndices(), 0); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glLineWidth(1.f); + } + } + } + } + } + } + } + + gGL.popMatrix(); + + return TRUE; +} + +//----------------------------------------------------------------------------- +// refresh() +//----------------------------------------------------------------------------- +void LLModelPreview::refresh() +{ + mNeedsUpdate = TRUE; +} + +//----------------------------------------------------------------------------- +// rotate() +//----------------------------------------------------------------------------- +void LLModelPreview::rotate(F32 yaw_radians, F32 pitch_radians) +{ + mCameraYaw = mCameraYaw + yaw_radians; + + mCameraPitch = llclamp(mCameraPitch + pitch_radians, F_PI_BY_TWO * -0.8f, F_PI_BY_TWO * 0.8f); +} + +//----------------------------------------------------------------------------- +// zoom() +//----------------------------------------------------------------------------- +void LLModelPreview::zoom(F32 zoom_amt) +{ + F32 new_zoom = mCameraZoom+zoom_amt; + + mCameraZoom = llclamp(new_zoom, 1.f, 10.f); +} + +void LLModelPreview::pan(F32 right, F32 up) +{ + mCameraOffset.mV[VY] = llclamp(mCameraOffset.mV[VY] + right * mCameraDistance / mCameraZoom, -1.f, 1.f); + mCameraOffset.mV[VZ] = llclamp(mCameraOffset.mV[VZ] + up * mCameraDistance / mCameraZoom, -1.f, 1.f); +} + +void LLModelPreview::setPreviewLOD(S32 lod) +{ + mPreviewLOD = llclamp(lod, 0, 4); + refresh(); +} + +//static +void LLFloaterModelPreview::onBrowseHighLOD(void* data) +{ + LLFloaterModelPreview* mp = (LLFloaterModelPreview*) data; + mp->loadModel(3); +} + +//static +void LLFloaterModelPreview::onBrowseMediumLOD(void* data) +{ + LLFloaterModelPreview* mp = (LLFloaterModelPreview*) data; + mp->loadModel(2); +} + +//static +void LLFloaterModelPreview::onBrowseLowLOD(void* data) +{ + LLFloaterModelPreview* mp = (LLFloaterModelPreview*) data; + mp->loadModel(1); +} + +//static +void LLFloaterModelPreview::onBrowseLowestLOD(void* data) +{ + LLFloaterModelPreview* mp = (LLFloaterModelPreview*) data; + mp->loadModel(0); +} + +//static +void LLFloaterModelPreview::onUpload(void* user_data) +{ + LLFloaterModelPreview* mp = (LLFloaterModelPreview*) user_data; + + if (mp->mDecompFloater) + { + mp->mDecompFloater->closeFloater(); + } + + mp->mModelPreview->rebuildUploadData(); + + gMeshRepo.uploadModel(mp->mModelPreview->mUploadData, mp->mModelPreview->mPreviewScale, mp->childGetValue("upload_textures").asBoolean()); + + mp->closeFloater(false); +} + +//static +void LLFloaterModelPreview::onConsolidate(void* user_data) +{ + LLFloaterModelPreview* mp = (LLFloaterModelPreview*) user_data; + mp->mModelPreview->consolidate(); +} + +//static +void LLFloaterModelPreview::onScrubMaterials(void* user_data) +{ + LLFloaterModelPreview* mp = (LLFloaterModelPreview*) user_data; + mp->mModelPreview->scrubMaterials(); +} + +//static +void LLFloaterModelPreview::onDecompose(void* user_data) +{ + LLFloaterModelPreview* mp = (LLFloaterModelPreview*) user_data; + mp->showDecompFloater(); +} + +//static +void LLFloaterModelPreview::onModelDecompositionComplete(LLModel* model, std::vector >& physics_mesh) +{ + if (sInstance && sInstance->mModelPreview) + { + sInstance->mModelPreview->mPhysicsMesh[model] = physics_mesh; + + sInstance->mModelPreview->mResourceCost = sInstance->mModelPreview->calcResourceCost(); + } +} + + +//static +void LLFloaterModelPreview::refresh(LLUICtrl* ctrl, void* user_data) +{ + LLFloaterModelPreview* mp = (LLFloaterModelPreview*) user_data; + mp->mModelPreview->refresh(); +} + +void LLFloaterModelPreview::updateResourceCost() +{ + U32 cost = mModelPreview->mResourceCost; + childSetLabelArg("ok_btn", "[AMOUNT]", llformat("%d",cost)); +} + +//static +void LLModelPreview::textureLoadedCallback( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata ) +{ + LLModelPreview* preview = (LLModelPreview*) userdata; + preview->refresh(); +} + +#endif + diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h new file mode 100644 index 0000000000..1f9de2e2b9 --- /dev/null +++ b/indra/newview/llfloatermodelpreview.h @@ -0,0 +1,275 @@ +/** + * @file llfloatermodelpreview.h + * @brief LLFloaterModelPreview class definition + * + * $LicenseInfo:firstyear=2004&license=viewergpl$ + * + * Copyright (c) 2004-2007, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlife.com/developers/opensource/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at http://secondlife.com/developers/opensource/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLFLOATERMODELPREVIEW_H +#define LL_LLFLOATERMODELPREVIEW_H + +#include "llfloaternamedesc.h" + +#include "lldynamictexture.h" +#include "llquaternion.h" +#include "llmeshrepository.h" +#include "llmodel.h" +#include "llthread.h" + +#if LL_MESH_ENABLED +class LLComboBox; +class LLJoint; +class LLViewerJointMesh; +class LLVOAvatar; +class LLTextBox; +class LLVertexBuffer; +class LLModelPreview; +class LLFloaterModelPreview; +class daeElement; +class domProfile_COMMON; +class domInstance_geometry; + +class LLPhysicsDecompFloater : public LLFloater +{ +public: + + LLPhysicsDecompFloater(LLSD& key); + ~LLPhysicsDecompFloater(); +}; + +class LLModelLoader : public LLThread +{ +public: + typedef enum + { + STARTING = 0, + READING_FILE, + CREATING_FACES, + GENERATING_VERTEX_BUFFERS, + GENERATING_LOD, + DONE, + } eLoadState; + + U32 mState; + std::string mFilename; + S32 mLod; + LLModelPreview* mPreview; + LLMatrix4 mTransform; + BOOL mFirstTransform; + LLVector3 mExtents[2]; + + std::map > mModel; + + typedef std::vector > model_list; + model_list mModelList; + + typedef std::vector model_instance_list; + + typedef std::map scene; + + scene mScene; + + LLModelLoader(std::string filename, S32 lod, LLModelPreview* preview); + + virtual void run(); + + void processElement(daeElement* element); + std::vector getMaterials(LLModel* model, domInstance_geometry* instance_geo); + LLImportMaterial profileToMaterial(domProfile_COMMON* material); + std::string getElementLabel(daeElement *element); + LLColor4 getDaeColor(daeElement* element); + + //map of avatar joints as named in COLLADA assets to internal joint names + std::map mJointMap; +}; + +class LLModelPreview : public LLViewerDynamicTexture, public LLMutex +{ + public: + + LLModelPreview(S32 width, S32 height, LLFloaterModelPreview* fmp); + virtual ~LLModelPreview(); + + void setPreviewTarget(F32 distance); + void setTexture(U32 name) { mTextureName = name; } + + BOOL render(); + void genBuffers(S32 lod); + void refresh(); + void rotate(F32 yaw_radians, F32 pitch_radians); + void zoom(F32 zoom_amt); + void pan(F32 right, F32 up); + virtual BOOL needsRender() { return mNeedsUpdate; } + void setPreviewLOD(S32 lod); + void loadModel(std::string filename, S32 lod); + void loadModelCallback(S32 lod); + void genLODs(S32 which_lod = -1); + void smoothNormals(); + void consolidate(); + void scrubMaterials(); + U32 calcResourceCost(); + void rebuildUploadData(); + void clearIncompatible(S32 lod); + void updateStatusMessages(); + + static void textureLoadedCallback( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata ); + + protected: + friend class LLFloaterModelPreview; + friend class LLPhysicsDecomp; + + LLFloaterModelPreview* mFMP; + + BOOL mNeedsUpdate; + U32 mTextureName; + F32 mCameraDistance; + F32 mCameraYaw; + F32 mCameraPitch; + F32 mCameraZoom; + LLVector3 mCameraOffset; + LLVector3 mPreviewTarget; + LLVector3 mPreviewScale; + S32 mPreviewLOD; + U32 mResourceCost; + S32 mLODMode[LLModel::NUM_LODS]; + S32 mLimit[LLModel::NUM_LODS]; + + LLModelLoader* mModelLoader; + + + LLModelLoader::scene mScene[LLModel::NUM_LODS]; + LLModelLoader::scene mBaseScene; + + LLModelLoader::model_list mModel[LLModel::NUM_LODS]; + LLModelLoader::model_list mBaseModel; + + std::map mGroup; + std::map mObject; + std::map > mPatch; + + std::map mPercentage; + std::map > > mPhysicsMesh; + + LLMeshUploadThread::instance_list mUploadData; + std::set > mTextureSet; + + //map of vertex buffers to models (one vertex buffer in vector per face in model + std::map > > mVertexBuffer[6]; +}; + +class LLFloaterModelPreview : public LLFloater +{ +public: + static LLFloaterModelPreview* sInstance; + + LLFloaterModelPreview(const LLSD& key); + virtual ~LLFloaterModelPreview(); + + virtual BOOL postBuild(); + + BOOL handleMouseDown(S32 x, S32 y, MASK mask); + BOOL handleMouseUp(S32 x, S32 y, MASK mask); + BOOL handleHover(S32 x, S32 y, MASK mask); + BOOL handleScrollWheel(S32 x, S32 y, S32 clicks); + + static void onMouseCaptureLostModelPreview(LLMouseHandler*); + static void setUploadAmount(S32 amount) { sUploadAmount = amount; } + + static void onBrowseHighLOD(void* data); + static void onBrowseMediumLOD(void* data); + static void onBrowseLowLOD(void* data); + static void onBrowseLowestLOD(void* data); + + static void onUpload(void* data); + + static void onConsolidate(void* data); + static void onScrubMaterials(void* data); + static void onDecompose(void* data); + static void onModelDecompositionComplete(LLModel* model, std::vector >& physics_mesh); + + static void refresh(LLUICtrl* ctrl, void* data); + + void updateResourceCost(); + + void loadModel(S32 lod); + +protected: + friend class LLModelPreview; + friend class LLMeshFilePicker; + friend class LLPhysicsDecomp; + friend class LLPhysicsDecompFloater; + + static void onPreviewLODCommit(LLUICtrl*,void*); + + static void onHighLODCommit(LLUICtrl*,void*); + static void onMediumLODCommit(LLUICtrl*,void*); + static void onLowLODCommit(LLUICtrl*,void*); + static void onLowestLODCommit(LLUICtrl*,void*); + static void onPhysicsLODCommit(LLUICtrl*,void*); + + static void onHighLimitCommit(LLUICtrl*,void*); + static void onMediumLimitCommit(LLUICtrl*,void*); + static void onLowLimitCommit(LLUICtrl*,void*); + static void onLowestLimitCommit(LLUICtrl*,void*); + static void onPhysicsLimitCommit(LLUICtrl*,void*); + + static void onSmoothNormalsCommit(LLUICtrl*,void*); + + static void onAutoFillCommit(LLUICtrl*,void*); + static void onShowEdgesCommit(LLUICtrl*,void*); + + static void onExplodeCommit(LLUICtrl*, void*); + + static void onPhysicsParamCommit(LLUICtrl* ctrl, void* userdata); + static void onPhysicsStageExecute(LLUICtrl* ctrl, void* userdata); + static void onPhysicsStageCancel(LLUICtrl* ctrl, void* userdata); + static void onClosePhysicsFloater(LLUICtrl* ctrl, void* userdata); + + void draw(); + static void setLODMode(S32 lod, void* userdata); + void setLODMode(S32 lod, S32 which_mode); + + static void setLimit(S32 lod, void* userdata); + void setLimit(S32 lod, S32 limit); + + void showDecompFloater(); + + LLModelPreview* mModelPreview; + + LLFloater* mDecompFloater; + + S32 mLastMouseX; + S32 mLastMouseY; + LLRect mPreviewRect; + U32 mGLName; + BOOL mLoading; + static S32 sUploadAmount; +}; + +#endif + +#endif // LL_LLFLOATERMODELPREVIEW_H diff --git a/indra/newview/llmeshreduction.cpp b/indra/newview/llmeshreduction.cpp new file mode 100644 index 0000000000..e785784a32 --- /dev/null +++ b/indra/newview/llmeshreduction.cpp @@ -0,0 +1,291 @@ +/** + * @file llmeshreduction.cpp + * @brief LLMeshReduction class implementation + * + * $LicenseInfo:firstyear=2004&license=viewergpl$ + * + * Copyright (c) 2004-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlife.com/developers/opensource/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at http://secondlife.com/developers/opensource/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llmeshreduction.h" +#include "llgl.h" +#include "llvertexbuffer.h" + +#include "glod/glod.h" + +#if LL_MESH_ENABLED + +static BOOL stop_gloderror() +{ + GLuint error = glodGetError(); + + if (error != GLOD_NO_ERROR) + { + llwarns << "GLOD error detected: " << std::hex << error << llendl; + return TRUE; + } + + return FALSE; +} + + +void create_vertex_buffers_from_model(LLModel* model, std::vector >& vertex_buffers) +{ +#if 0 //VECTORIZE THIS ? + vertex_buffers.clear(); + + for (S32 i = 0; i < model->getNumVolumeFaces(); ++i) + { + const LLVolumeFace &vf = model->getVolumeFace(i); + U32 num_vertices = vf.mNumVertices; + U32 num_indices = vf.mNumIndices; + + if (!num_vertices || ! num_indices) + { + continue; + } + + LLVertexBuffer* vb = + new LLVertexBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0, 0); + + vb->allocateBuffer(num_vertices, num_indices, TRUE); + + LLStrider vertex_strider; + LLStrider normal_strider; + LLStrider tc_strider; + LLStrider index_strider; + + vb->getVertexStrider(vertex_strider); + vb->getNormalStrider(normal_strider); + vb->getTexCoord0Strider(tc_strider); + + vb->getIndexStrider(index_strider); + + // build vertices and normals + for (U32 i = 0; (S32)i < num_vertices; i++) + { + *(vertex_strider++) = vf.mVertices[i].mPosition; + *(tc_strider++) = vf.mVertices[i].mTexCoord; + LLVector3 normal = vf.mVertices[i].mNormal; + normal.normalize(); + *(normal_strider++) = normal; + } + + // build indices + for (U32 i = 0; i < num_indices; i++) + { + *(index_strider++) = vf.mIndices[i]; + } + + + vertex_buffers.push_back(vb); + } +#endif +} + +void create_glod_object_from_vertex_buffers(S32 object, S32 group, std::vector >& vertex_buffers) +{ + glodNewGroup(group); + stop_gloderror(); + glodNewObject(object, group, GLOD_DISCRETE); + stop_gloderror(); + + for (U32 i = 0; i < vertex_buffers.size(); ++i) + { + vertex_buffers[i]->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0); + + U32 num_indices = vertex_buffers[i]->getNumIndices(); + + if (num_indices > 2) + { + glodInsertElements(object, i, GL_TRIANGLES, num_indices, GL_UNSIGNED_SHORT, + vertex_buffers[i]->getIndicesPointer(), 0, 0.f); + } + stop_gloderror(); + } + + glodBuildObject(object); + stop_gloderror(); +} + +// extract the GLOD data into vertex buffers +void create_vertex_buffers_from_glod_object(S32 object, S32 group, std::vector >& vertex_buffers) +{ + vertex_buffers.clear(); + + GLint patch_count = 0; + glodGetObjectParameteriv(object, GLOD_NUM_PATCHES, &patch_count); + stop_gloderror(); + + GLint* sizes = new GLint[patch_count*2]; + glodGetObjectParameteriv(object, GLOD_PATCH_SIZES, sizes); + stop_gloderror(); + + GLint* names = new GLint[patch_count]; + glodGetObjectParameteriv(object, GLOD_PATCH_NAMES, names); + stop_gloderror(); + + for (S32 i = 0; i < patch_count; i++) + { + LLPointer buff = + new LLVertexBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0, 0); + + if (sizes[i*2+1] > 0 && sizes[i*2] > 0) + { + buff->allocateBuffer(sizes[i*2+1], sizes[i*2], true); + buff->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0); + glodFillElements(object, names[i], GL_UNSIGNED_SHORT, buff->getIndicesPointer()); + stop_gloderror(); + } + else + { + // this face was eliminated, create a dummy triangle (one vertex, 3 indices, all 0) + buff->allocateBuffer(1, 3, true); + } + + vertex_buffers.push_back(buff); + } + + glodDeleteObject(object); + stop_gloderror(); + glodDeleteGroup(group); + stop_gloderror(); + + delete [] sizes; + delete [] names; +} + + +LLPointer create_model_from_vertex_buffers(std::vector >& vertex_buffers) +{ + // extract the newly reduced mesh + + // create our output model + LLVolumeParams volume_params; + volume_params.setType(LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE); + LLPointer out_model = new LLModel(volume_params, 0.f); + + out_model->setNumVolumeFaces(vertex_buffers.size()); + + // build new faces from each vertex buffer + for (GLint i = 0; i < vertex_buffers.size(); ++i) + { + LLStrider pos; + LLStrider norm; + LLStrider tc; + LLStrider index; + + vertex_buffers[i]->getVertexStrider(pos); + vertex_buffers[i]->getNormalStrider(norm); + vertex_buffers[i]->getTexCoord0Strider(tc); + vertex_buffers[i]->getIndexStrider(index); + + out_model->setVolumeFaceData(i, pos, norm, tc, index, + vertex_buffers[i]->getNumVerts(), vertex_buffers[i]->getNumIndices()); + } + + return out_model; +} + + + +LLMeshReduction::LLMeshReduction() +{ + mCounter = 1; + + glodInit(); +} + +LLMeshReduction::~LLMeshReduction() +{ + glodShutdown(); +} + + +LLPointer LLMeshReduction::reduce(LLModel* in_model, F32 limit, S32 mode) +{ + LLVertexBuffer::unbind(); + + // create vertex buffers from model + std::vector > in_vertex_buffers; + create_vertex_buffers_from_model(in_model, in_vertex_buffers); + + // create glod object from vertex buffers + stop_gloderror(); + S32 glod_group = mCounter++; + S32 glod_object = mCounter++; + create_glod_object_from_vertex_buffers(glod_object, glod_group, in_vertex_buffers); + + + // set reduction parameters + stop_gloderror(); + + if (mode == TRIANGLE_BUDGET) + { + // triangle budget mode + glodGroupParameteri(glod_group, GLOD_ADAPT_MODE, GLOD_TRIANGLE_BUDGET); + stop_gloderror(); + glodGroupParameteri(glod_group, GLOD_ERROR_MODE, GLOD_OBJECT_SPACE_ERROR); + stop_gloderror(); + S32 triangle_count = (S32)limit; + glodGroupParameteri(glod_group, GLOD_MAX_TRIANGLES, triangle_count); + stop_gloderror(); + } + else if (mode == ERROR_THRESHOLD) + { + // error threshold mode + glodGroupParameteri(glod_group, GLOD_ADAPT_MODE, GLOD_ERROR_THRESHOLD); + glodGroupParameteri(glod_group, GLOD_ERROR_MODE, GLOD_OBJECT_SPACE_ERROR); + F32 error_threshold = limit; + glodGroupParameterf(glod_group, GLOD_OBJECT_SPACE_ERROR_THRESHOLD, error_threshold); + stop_gloderror(); + } + + else + { + // not a legal mode + return NULL; + } + + + // do the reduction + glodAdaptGroup(glod_group); + stop_gloderror(); + + // convert glod object into vertex buffers + std::vector > out_vertex_buffers; + create_vertex_buffers_from_glod_object(glod_object, glod_group, out_vertex_buffers); + + // convert vertex buffers into a model + LLPointer out_model = create_model_from_vertex_buffers(out_vertex_buffers); + + + return out_model; +} + +#endif + diff --git a/indra/newview/llmeshreduction.h b/indra/newview/llmeshreduction.h new file mode 100644 index 0000000000..d86696978d --- /dev/null +++ b/indra/newview/llmeshreduction.h @@ -0,0 +1,59 @@ +/** + * @file llmeshreduction.h + * @brief LLMeshReduction class definition + * + * $LicenseInfo:firstyear=2004&license=viewergpl$ + * + * Copyright (c) 2004-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlife.com/developers/opensource/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at http://secondlife.com/developers/opensource/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLMESHREDUCTION_H +#define LL_LLMESHREDUCTION_H + +#include "llmodel.h" + +#if LL_MESH_ENABLED + +class LLMeshReduction +{ + public: + enum EReductionMode + { + TRIANGLE_BUDGET, + ERROR_THRESHOLD + }; + + LLMeshReduction(); + ~LLMeshReduction(); + + LLPointer reduce(LLModel* in_model, F32 limit, S32 mode); + +private: + U32 mCounter; +}; + +#endif + +#endif // LL_LLMESHREDUCTION_H diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp new file mode 100644 index 0000000000..96a170ef07 --- /dev/null +++ b/indra/newview/llmeshrepository.cpp @@ -0,0 +1,2676 @@ +/** + * @file llmeshrepository.cpp + * @brief Mesh repository implementation. + * + * $LicenseInfo:firstyear=2005&license=viewergpl$ + * + * Copyright (c) 2005-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "apr_pools.h" +#include "apr_dso.h" + +#include "llmeshrepository.h" + +#include "llagent.h" +#include "llappviewer.h" +#include "llbufferstream.h" +#include "llcurl.h" +#include "llfasttimer.h" +#include "llfloatermodelpreview.h" +#include "llfloaterperms.h" +#include "lleconomy.h" +#include "llimagej2c.h" +#include "llhost.h" +#include "llnotificationsutil.h" +#include "llsd.h" +#include "llsdutil_math.h" +#include "llsdserialize.h" +#include "llthread.h" +#include "llvfile.h" +#include "llviewercontrol.h" +#include "llviewermenufile.h" +#include "llviewerobjectlist.h" +#include "llviewerregion.h" +#include "llviewertexturelist.h" +#include "llvolume.h" +#include "llvolumemgr.h" +#include "llvovolume.h" +#include "llworld.h" +#include "material_codes.h" +#include "pipeline.h" + + +#include + +#if LL_MESH_ENABLED + +LLFastTimer::DeclareTimer FTM_MESH_UPDATE("Mesh Update"); +LLFastTimer::DeclareTimer FTM_LOAD_MESH("Load Mesh"); + +LLMeshRepository gMeshRepo; + +const U32 MAX_MESH_REQUESTS_PER_SECOND = 100; + +U32 LLMeshRepository::sBytesReceived = 0; +U32 LLMeshRepository::sHTTPRequestCount = 0; +U32 LLMeshRepository::sHTTPRetryCount = 0; +U32 LLMeshRepository::sCacheBytesRead = 0; +U32 LLMeshRepository::sCacheBytesWritten = 0; +U32 LLMeshRepository::sPeakKbps = 0; + + +std::string header_lod[] = +{ + "lowest_lod", + "low_lod", + "medium_lod", + "high_lod" +}; + + +//get the number of bytes resident in memory for given volume +U32 get_volume_memory_size(const LLVolume* volume) +{ + U32 indices = 0; + U32 vertices = 0; + + for (U32 i = 0; i < volume->getNumVolumeFaces(); ++i) + { + const LLVolumeFace& face = volume->getVolumeFace(i); + indices += face.mNumIndices; + vertices += face.mNumVertices; + } + + + return indices*2+vertices*11+sizeof(LLVolume)+sizeof(LLVolumeFace)*volume->getNumVolumeFaces(); +} + +std::string scrub_host_name(std::string http_url, const LLHost& host) +{ //curl loves to abuse the DNS cache, so scrub host names out of urls where trivial to prevent DNS timeouts + std::string ip_string = host.getIPString(); + std::string host_string = host.getHostName(); + + std::string::size_type idx = http_url.find(host_string); + + if (!ip_string.empty() && !host_string.empty() && idx != std::string::npos) + { + http_url.replace(idx, host_string.length(), ip_string); + } + + return http_url; +} + +LLVertexBuffer* get_vertex_buffer_from_mesh(LLCDMeshData& mesh, F32 scale = 1.f) +{ + LLVertexBuffer* buff = new LLVertexBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL, 0); + buff->allocateBuffer(mesh.mNumTriangles*3, 0, true); + + LLStrider pos; + LLStrider norm; + + buff->getVertexStrider(pos); + buff->getNormalStrider(norm); + + const F32* v = mesh.mVertexBase; + + if (mesh.mIndexType == LLCDMeshData::INT_16) + { + U16* idx = (U16*) mesh.mIndexBase; + for (S32 j = 0; j < mesh.mNumTriangles; ++j) + { + F32* mp0 = (F32*) ((U8*)v+idx[0]*mesh.mVertexStrideBytes); + F32* mp1 = (F32*) ((U8*)v+idx[1]*mesh.mVertexStrideBytes); + F32* mp2 = (F32*) ((U8*)v+idx[2]*mesh.mVertexStrideBytes); + + idx = (U16*) (((U8*)idx)+mesh.mIndexStrideBytes); + + LLVector3 v0(mp0); + LLVector3 v1(mp1); + LLVector3 v2(mp2); + + LLVector3 n = (v1-v0)%(v2-v0); + n.normalize(); + + *pos++ = v0*scale; + *pos++ = v1*scale; + *pos++ = v2*scale; + + *norm++ = n; + *norm++ = n; + *norm++ = n; + } + } + else + { + U32* idx = (U32*) mesh.mIndexBase; + for (S32 j = 0; j < mesh.mNumTriangles; ++j) + { + F32* mp0 = (F32*) ((U8*)v+idx[0]*mesh.mVertexStrideBytes); + F32* mp1 = (F32*) ((U8*)v+idx[1]*mesh.mVertexStrideBytes); + F32* mp2 = (F32*) ((U8*)v+idx[2]*mesh.mVertexStrideBytes); + + idx = (U32*) (((U8*)idx)+mesh.mIndexStrideBytes); + + LLVector3 v0(mp0); + LLVector3 v1(mp1); + LLVector3 v2(mp2); + + LLVector3 n = (v1-v0)%(v2-v0); + n.normalize(); + + *(pos++) = v0*scale; + *(pos++) = v1*scale; + *(pos++) = v2*scale; + + *(norm++) = n; + *(norm++) = n; + *(norm++) = n; + } + } + + return buff; +} + +S32 LLMeshRepoThread::sActiveHeaderRequests = 0; +S32 LLMeshRepoThread::sActiveLODRequests = 0; +U32 LLMeshRepoThread::sMaxConcurrentRequests = 1; + + +class LLTextureCostResponder : public LLCurl::Responder +{ +public: + LLTextureUploadData mData; + LLMeshUploadThread* mThread; + + LLTextureCostResponder(LLTextureUploadData data, LLMeshUploadThread* thread) + : mData(data), mThread(thread) + { + + } + + virtual void completed(U32 status, const std::string& reason, const LLSD& content) + { + mThread->mPendingConfirmations--; + if (isGoodStatus(status)) + { + mThread->priceResult(mData, content); + } + else + { + llwarns << status << ": " << reason << llendl; + llwarns << "Retrying. (" << ++mData.mRetries << ")" << llendl; + + if (status == 499) + { + mThread->uploadTexture(mData); + } + else + { + llerrs << "Unhandled status " << status << llendl; + } + } + } +}; + +class LLTextureUploadResponder : public LLCurl::Responder +{ +public: + LLTextureUploadData mData; + LLMeshUploadThread* mThread; + + LLTextureUploadResponder(LLTextureUploadData data, LLMeshUploadThread* thread) + : mData(data), mThread(thread) + { + } + + virtual void completed(U32 status, const std::string& reason, const LLSD& content) + { + mThread->mPendingUploads--; + if (isGoodStatus(status)) + { + mData.mUUID = content["new_asset"].asUUID(); + gMeshRepo.updateInventory(LLMeshRepository::inventory_data(mData.mPostData, content)); + mThread->onTextureUploaded(mData); + } + else + { + llwarns << status << ": " << reason << llendl; + llwarns << "Retrying. (" << ++mData.mRetries << ")" << llendl; + + if (status == 404) + { + mThread->uploadTexture(mData); + } + else if (status == 499) + { + mThread->mConfirmedTextureQ.push(mData); + } + else + { + llerrs << "Unhandled status " << status << llendl; + } + } + } +}; + +class LLMeshCostResponder : public LLCurl::Responder +{ +public: + LLMeshUploadData mData; + LLMeshUploadThread* mThread; + + LLMeshCostResponder(LLMeshUploadData data, LLMeshUploadThread* thread) + : mData(data), mThread(thread) + { + + } + + virtual void completed(U32 status, const std::string& reason, const LLSD& content) + { + mThread->mPendingConfirmations--; + + if (isGoodStatus(status)) + { + mThread->priceResult(mData, content); + } + else + { + llwarns << status << ": " << reason << llendl; + llwarns << "Retrying. (" << ++mData.mRetries << ")" << llendl; + + if (status == 499) + { + mThread->uploadModel(mData); + } + else if (status == 400) + { + llwarns << "Status 400 received from server, giving up." << llendl; + } + else + { + llerrs << "Unhandled status " << status << llendl; + } + } + } +}; + +class LLMeshUploadResponder : public LLCurl::Responder +{ +public: + LLMeshUploadData mData; + LLMeshUploadThread* mThread; + + LLMeshUploadResponder(LLMeshUploadData data, LLMeshUploadThread* thread) + : mData(data), mThread(thread) + { + } + + virtual void completed(U32 status, const std::string& reason, const LLSD& content) + { + mThread->mPendingUploads--; + if (isGoodStatus(status)) + { + mData.mUUID = content["new_asset"].asUUID(); + if (mData.mUUID.isNull()) + { + LLSD args; + std::string message = content["error"]["message"]; + std::string identifier = content["error"]["identifier"]; + std::string invalidity_identifier = content["error"]["invalidity_identifier"]; + + args["MESSAGE"] = message; + args["IDENTIFIER"] = identifier; + args["INVALIDITY_IDENTIFIER"] = invalidity_identifier; + args["LABEL"] = mData.mBaseModel->mLabel; + + gMeshRepo.uploadError(args); + } + else + { + gMeshRepo.updateInventory(LLMeshRepository::inventory_data(mData.mPostData, content)); + mThread->onModelUploaded(mData); + } + } + else + { + llwarns << status << ": " << reason << llendl; + llwarns << "Retrying. (" << ++mData.mRetries << ")" << llendl; + + if (status == 404) + { + mThread->uploadModel(mData); + } + else if (status == 499) + { + mThread->mConfirmedQ.push(mData); + } + else if (status != 500) + { //drop internal server errors on the floor, otherwise grab + llerrs << "Unhandled status " << status << llendl; + } + } + } +}; + + +class LLMeshHeaderResponder : public LLCurl::Responder +{ +public: + LLVolumeParams mMeshParams; + + LLMeshHeaderResponder(const LLVolumeParams& mesh_params) + : mMeshParams(mesh_params) + { + } + + virtual void completedRaw(U32 status, const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer); + +}; + +class LLMeshLODResponder : public LLCurl::Responder +{ +public: + LLVolumeParams mMeshParams; + S32 mLOD; + U32 mRequestedBytes; + U32 mOffset; + + LLMeshLODResponder(const LLVolumeParams& mesh_params, S32 lod, U32 offset, U32 requested_bytes) + : mMeshParams(mesh_params), mLOD(lod), mOffset(offset), mRequestedBytes(requested_bytes) + { + } + + virtual void completedRaw(U32 status, const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer); + +}; + +class LLMeshSkinInfoResponder : public LLCurl::Responder +{ +public: + LLUUID mMeshID; + U32 mRequestedBytes; + U32 mOffset; + + LLMeshSkinInfoResponder(const LLUUID& id, U32 offset, U32 size) + : mMeshID(id), mRequestedBytes(size), mOffset(offset) + { + } + + virtual void completedRaw(U32 status, const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer); + +}; + +class LLMeshDecompositionResponder : public LLCurl::Responder +{ +public: + LLUUID mMeshID; + U32 mRequestedBytes; + U32 mOffset; + + LLMeshDecompositionResponder(const LLUUID& id, U32 offset, U32 size) + : mMeshID(id), mRequestedBytes(size), mOffset(offset) + { + } + + virtual void completedRaw(U32 status, const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer); + +}; + + +LLMeshRepoThread::LLMeshRepoThread() +: LLThread("mesh repo", NULL) +{ + mWaiting = false; + mMutex = new LLMutex(NULL); + mHeaderMutex = new LLMutex(NULL); + mSignal = new LLCondition(NULL); +} + +LLMeshRepoThread::~LLMeshRepoThread() +{ + +} + +void LLMeshRepoThread::run() +{ + mCurlRequest = new LLCurlRequest(); + LLCDResult res = LLConvexDecomposition::initThread(); + if (res != LLCD_OK) + { + llwarns << "convex decomposition unable to be loaded" << llendl; + } + + while (!LLApp::isQuitting()) + { + mWaiting = true; + mSignal->wait(); + mWaiting = false; + + if (!LLApp::isQuitting()) + { + static U32 count = 0; + + static F32 last_hundred = gFrameTimeSeconds; + + if (gFrameTimeSeconds - last_hundred > 1.f) + { //a second has gone by, clear count + last_hundred = gFrameTimeSeconds; + count = 0; + } + + // NOTE: throttling intentionally favors LOD requests over header requests + + while (!mLODReqQ.empty() && count < MAX_MESH_REQUESTS_PER_SECOND && sActiveLODRequests < sMaxConcurrentRequests) + { + { + LLMutexLock lock(mMutex); + LODRequest req = mLODReqQ.front(); + mLODReqQ.pop(); + if (fetchMeshLOD(req.mMeshParams, req.mLOD)) + { + count++; + } + } + } + + while (!mHeaderReqQ.empty() && count < MAX_MESH_REQUESTS_PER_SECOND && sActiveHeaderRequests < sMaxConcurrentRequests) + { + { + LLMutexLock lock(mMutex); + HeaderRequest req = mHeaderReqQ.front(); + mHeaderReqQ.pop(); + if (fetchMeshHeader(req.mMeshParams)) + { + count++; + } + } + } + + { + std::set incomplete; + for (std::set::iterator iter = mSkinRequests.begin(); iter != mSkinRequests.end(); ++iter) + { + LLUUID mesh_id = *iter; + if (!fetchMeshSkinInfo(mesh_id)) + { + incomplete.insert(mesh_id); + } + } + mSkinRequests = incomplete; + } + + { + std::set incomplete; + for (std::set::iterator iter = mDecompositionRequests.begin(); iter != mDecompositionRequests.end(); ++iter) + { + LLUUID mesh_id = *iter; + if (!fetchMeshDecomposition(mesh_id)) + { + incomplete.insert(mesh_id); + } + } + mDecompositionRequests = incomplete; + } + + + } + + mCurlRequest->process(); + } + + res = LLConvexDecomposition::quitThread(); + if (res != LLCD_OK) + { + llwarns << "convex decomposition unable to be quit" << llendl; + } + + delete mCurlRequest; + delete mMutex; +} + +void LLMeshRepoThread::loadMeshSkinInfo(const LLUUID& mesh_id) +{ //protected by mSignal, no locking needed here + mSkinRequests.insert(mesh_id); +} + +void LLMeshRepoThread::loadMeshDecomposition(const LLUUID& mesh_id) +{ //protected by mSignal, no locking needed here + mDecompositionRequests.insert(mesh_id); +} + +void LLMeshRepoThread::loadMeshLOD(const LLVolumeParams& mesh_params, S32 lod) +{ //protected by mSignal, no locking needed here + + mesh_header_map::iterator iter = mMeshHeader.find(mesh_params.getSculptID()); + if (iter != mMeshHeader.end()) + { //if we have the header, request LOD byte range + LODRequest req(mesh_params, lod); + mLODReqQ.push(req); + } + else + { + HeaderRequest req(mesh_params); + + pending_lod_map::iterator pending = mPendingLOD.find(mesh_params); + + if (pending != mPendingLOD.end()) + { //append this lod request to existing header request + pending->second.push_back(lod); + if (pending->second.size() > 4) + { + llerrs << "WTF?" << llendl; + } + } + else + { //if no header request is pending, fetch header + mHeaderReqQ.push(req); + mPendingLOD[mesh_params].push_back(lod); + } + } +} + +//static +std::string LLMeshRepoThread::constructUrl(LLUUID mesh_id) +{ + std::string http_url; + + if (gAgent.getRegion()) + { + http_url = gAgent.getRegion()->getCapability("GetMesh"); + scrub_host_name(http_url, gAgent.getRegionHost()); + } + + if (!http_url.empty()) + { + http_url += "/?mesh_id="; + http_url += mesh_id.asString().c_str(); + } + else + { + llwarns << "Current region does not have GetMesh capability! Cannot load " << mesh_id << ".mesh" << llendl; + } + + return http_url; +} + +bool LLMeshRepoThread::fetchMeshSkinInfo(const LLUUID& mesh_id) +{ //protected by mMutex + mHeaderMutex->lock(); + + if (mMeshHeader.find(mesh_id) == mMeshHeader.end()) + { //we have no header info for this mesh, do nothing + mHeaderMutex->unlock(); + return false; + } + + U32 header_size = mMeshHeaderSize[mesh_id]; + + if (header_size > 0) + { + S32 offset = header_size + mMeshHeader[mesh_id]["skin"]["offset"].asInteger(); + S32 size = mMeshHeader[mesh_id]["skin"]["size"].asInteger(); + + mHeaderMutex->unlock(); + + if (offset >= 0 && size > 0) + { + //check VFS for mesh skin info + LLVFile file(gVFS, mesh_id, LLAssetType::AT_MESH); + if (file.getSize() >= offset+size) + { + LLMeshRepository::sCacheBytesRead += size; + file.seek(offset); + U8* buffer = new U8[size]; + file.read(buffer, size); + + //make sure buffer isn't all 0's (reserved block but not written) + bool zero = true; + for (S32 i = 0; i < llmin(size, 1024) && zero; ++i) + { + zero = buffer[i] > 0 ? false : true; + } + + if (!zero) + { //attempt to parse + if (skinInfoReceived(mesh_id, buffer, size)) + { + delete[] buffer; + return true; + } + } + + delete[] buffer; + } + + //reading from VFS failed for whatever reason, fetch from sim + std::vector headers; + headers.push_back("Accept: application/octet-stream"); + + std::string http_url = constructUrl(mesh_id); + if (!http_url.empty()) + { + ++sActiveLODRequests; + LLMeshRepository::sHTTPRequestCount++; + mCurlRequest->getByteRange(constructUrl(mesh_id), headers, offset, size, + new LLMeshSkinInfoResponder(mesh_id, offset, size)); + } + } + } + else + { + mHeaderMutex->unlock(); + } + + //early out was not hit, effectively fetched + return true; +} + +bool LLMeshRepoThread::fetchMeshDecomposition(const LLUUID& mesh_id) +{ //protected by mMutex + mHeaderMutex->lock(); + + if (mMeshHeader.find(mesh_id) == mMeshHeader.end()) + { //we have no header info for this mesh, do nothing + mHeaderMutex->unlock(); + return false; + } + + U32 header_size = mMeshHeaderSize[mesh_id]; + + if (header_size > 0) + { + S32 offset = header_size + mMeshHeader[mesh_id]["decomposition"]["offset"].asInteger(); + S32 size = mMeshHeader[mesh_id]["decomposition"]["size"].asInteger(); + + mHeaderMutex->unlock(); + + if (offset >= 0 && size > 0) + { + //check VFS for mesh skin info + LLVFile file(gVFS, mesh_id, LLAssetType::AT_MESH); + if (file.getSize() >= offset+size) + { + LLMeshRepository::sCacheBytesRead += size; + file.seek(offset); + U8* buffer = new U8[size]; + file.read(buffer, size); + + //make sure buffer isn't all 0's (reserved block but not written) + bool zero = true; + for (S32 i = 0; i < llmin(size, 1024) && zero; ++i) + { + zero = buffer[i] > 0 ? false : true; + } + + if (!zero) + { //attempt to parse + if (decompositionReceived(mesh_id, buffer, size)) + { + delete[] buffer; + return true; + } + } + + delete[] buffer; + } + + //reading from VFS failed for whatever reason, fetch from sim + std::vector headers; + headers.push_back("Accept: application/octet-stream"); + + std::string http_url = constructUrl(mesh_id); + if (!http_url.empty()) + { + ++sActiveLODRequests; + LLMeshRepository::sHTTPRequestCount++; + mCurlRequest->getByteRange(constructUrl(mesh_id), headers, offset, size, + new LLMeshDecompositionResponder(mesh_id, offset, size)); + } + } + } + else + { + mHeaderMutex->unlock(); + } + + //early out was not hit, effectively fetched + return true; +} + +bool LLMeshRepoThread::fetchMeshHeader(const LLVolumeParams& mesh_params) +{ + bool retval = false; + + { + //look for mesh in asset in vfs + LLVFile file(gVFS, mesh_params.getSculptID(), LLAssetType::AT_MESH); + + S32 size = file.getSize(); + + if (size > 0) + { + U8 buffer[1024]; + S32 bytes = llmin(size, 1024); + LLMeshRepository::sCacheBytesRead += bytes; + file.read(buffer, bytes); + if (headerReceived(mesh_params, buffer, bytes)) + { //did not do an HTTP request, return false + return false; + } + } + } + + //either cache entry doesn't exist or is corrupt, request header from simulator + + std::vector headers; + headers.push_back("Accept: application/octet-stream"); + + std::string http_url = constructUrl(mesh_params.getSculptID()); + if (!http_url.empty()) + { + ++sActiveHeaderRequests; + retval = true; + //grab first 4KB if we're going to bother with a fetch. Cache will prevent future fetches if a full mesh fits + //within the first 4KB + LLMeshRepository::sHTTPRequestCount++; + mCurlRequest->getByteRange(http_url, headers, 0, 4096, new LLMeshHeaderResponder(mesh_params)); + } + + return retval; +} + +bool LLMeshRepoThread::fetchMeshLOD(const LLVolumeParams& mesh_params, S32 lod) +{ //protected by mMutex + mHeaderMutex->lock(); + + bool retval = false; + + LLUUID mesh_id = mesh_params.getSculptID(); + + U32 header_size = mMeshHeaderSize[mesh_id]; + + if (header_size > 0) + { + S32 offset = header_size + mMeshHeader[mesh_id][header_lod[lod]]["offset"].asInteger(); + S32 size = mMeshHeader[mesh_id][header_lod[lod]]["size"].asInteger(); + mHeaderMutex->unlock(); + if (offset >= 0 && size > 0) + { + + //check VFS for mesh asset + LLVFile file(gVFS, mesh_id, LLAssetType::AT_MESH); + if (file.getSize() >= offset+size) + { + LLMeshRepository::sCacheBytesRead += size; + file.seek(offset); + U8* buffer = new U8[size]; + file.read(buffer, size); + + //make sure buffer isn't all 0's (reserved block but not written) + bool zero = true; + for (S32 i = 0; i < llmin(size, 1024) && zero; ++i) + { + zero = buffer[i] > 0 ? false : true; + } + + if (!zero) + { //attempt to parse + if (lodReceived(mesh_params, lod, buffer, size)) + { + delete[] buffer; + return false; + } + } + + delete[] buffer; + } + + //reading from VFS failed for whatever reason, fetch from sim + std::vector headers; + headers.push_back("Accept: application/octet-stream"); + + std::string http_url = constructUrl(mesh_id); + if (!http_url.empty()) + { + ++sActiveLODRequests; + retval = true; + LLMeshRepository::sHTTPRequestCount++; + mCurlRequest->getByteRange(constructUrl(mesh_id), headers, offset, size, + new LLMeshLODResponder(mesh_params, lod, offset, size)); + } + else + { + mUnavailableQ.push(LODRequest(mesh_params, lod)); + } + } + else + { + mUnavailableQ.push(LODRequest(mesh_params, lod)); + } + } + else + { + mHeaderMutex->unlock(); + } + + return retval; +} + +bool LLMeshRepoThread::headerReceived(const LLVolumeParams& mesh_params, U8* data, S32 data_size) +{ + LLSD header; + + U32 header_size = 0; + if (data_size > 0) + { + std::string res_str((char*) data, data_size); + + std::istringstream stream(res_str); + + if (!LLSDSerialize::deserialize(header, stream, data_size)) + { + llwarns << "Mesh header parse error. Not a valid mesh asset!" << llendl; + return false; + } + + header_size = stream.tellg(); + } + else + { + header["404"] = 1; + } + + { + U32 cost = gMeshRepo.calcResourceCost(header); + + LLUUID mesh_id = mesh_params.getSculptID(); + + mHeaderMutex->lock(); + mMeshHeaderSize[mesh_id] = header_size; + mMeshHeader[mesh_id] = header; + mMeshResourceCost[mesh_id] = cost; + mHeaderMutex->unlock(); + + //check for pending requests + pending_lod_map::iterator iter = mPendingLOD.find(mesh_params); + if (iter != mPendingLOD.end()) + { + for (U32 i = 0; i < iter->second.size(); ++i) + { + LODRequest req(mesh_params, iter->second[i]); + mLODReqQ.push(req); + } + } + mPendingLOD.erase(iter); + } + + return true; +} + +bool LLMeshRepoThread::lodReceived(const LLVolumeParams& mesh_params, S32 lod, U8* data, S32 data_size) +{ + LLVolume* volume = new LLVolume(mesh_params, LLVolumeLODGroup::getVolumeScaleFromDetail(lod)); + std::string mesh_string((char*) data, data_size); + std::istringstream stream(mesh_string); + + if (volume->unpackVolumeFaces(stream, data_size)) + { + LoadedMesh mesh(volume, mesh_params, lod); + if (volume->getNumFaces() > 0) + { + LLMutexLock lock(mMutex); + mLoadedQ.push(mesh); + return true; + } + } + + return false; +} + +bool LLMeshRepoThread::skinInfoReceived(const LLUUID& mesh_id, U8* data, S32 data_size) +{ + LLSD skin; + + if (data_size > 0) + { + std::string res_str((char*) data, data_size); + + std::istringstream stream(res_str); + + if (!unzip_llsd(skin, stream, data_size)) + { + llwarns << "Mesh skin info parse error. Not a valid mesh asset!" << llendl; + return false; + } + } + + { + LLMeshSkinInfo info; + info.mMeshID = mesh_id; + + if (skin.has("joint_names")) + { + for (U32 i = 0; i < skin["joint_names"].size(); ++i) + { + info.mJointNames.push_back(skin["joint_names"][i]); + } + } + + if (skin.has("inverse_bind_matrix")) + { + for (U32 i = 0; i < skin["inverse_bind_matrix"].size(); ++i) + { + LLMatrix4 mat; + for (U32 j = 0; j < 4; j++) + { + for (U32 k = 0; k < 4; k++) + { + mat.mMatrix[j][k] = skin["inverse_bind_matrix"][i][j*4+k].asReal(); + } + } + + info.mInvBindMatrix.push_back(mat); + } + } + + if (skin.has("bind_shape_matrix")) + { + for (U32 j = 0; j < 4; j++) + { + for (U32 k = 0; k < 4; k++) + { + info.mBindShapeMatrix.mMatrix[j][k] = skin["bind_shape_matrix"][j*4+k].asReal(); + } + } + } + + mSkinInfoQ.push(info); + } + + return true; +} + +bool LLMeshRepoThread::decompositionReceived(const LLUUID& mesh_id, U8* data, S32 data_size) +{ + LLSD decomp; + + if (data_size > 0) + { + std::string res_str((char*) data, data_size); + + std::istringstream stream(res_str); + + if (!unzip_llsd(decomp, stream, data_size)) + { + llwarns << "Mesh decomposition parse error. Not a valid mesh asset!" << llendl; + return false; + } + } + + { + LLMeshDecomposition* d = new LLMeshDecomposition(); + d->mMeshID = mesh_id; + + // updated for const-correctness. gcc is picky about this type of thing - Nyx + const LLSD::Binary& hulls = decomp["HullList"].asBinary(); + const LLSD::Binary& position = decomp["Position"].asBinary(); + + U16* p = (U16*) &position[0]; + + d->mHull.resize(hulls.size()); + + LLVector3 min; + LLVector3 max; + LLVector3 range; + + min.setValue(decomp["Min"]); + max.setValue(decomp["Max"]); + range = max-min; + + for (U32 i = 0; i < hulls.size(); ++i) + { + U8 count = hulls[i]; + + for (U32 j = 0; j < count; ++j) + { + d->mHull[i].push_back(LLVector3( + (F32) p[0]/65535.f*range.mV[0]+min.mV[0], + (F32) p[1]/65535.f*range.mV[1]+min.mV[1], + (F32) p[2]/65535.f*range.mV[2]+min.mV[2])); + p += 3; + } + + } + + //get mesh for decomposition + for (U32 i = 0; i < d->mHull.size(); ++i) + { + LLCDHull hull; + hull.mNumVertices = d->mHull[i].size(); + hull.mVertexBase = d->mHull[i][0].mV; + hull.mVertexStrideBytes = 12; + + LLCDMeshData mesh; + LLCDResult res = LLCD_OK; + if (LLConvexDecomposition::getInstance() != NULL) + { + res = LLConvexDecomposition::getInstance()->getMeshFromHull(&hull, &mesh); + } + if (res != LLCD_OK) + { + llwarns << "could not get mesh from hull from convex decomposition lib." << llendl; + return false; + } + + + d->mMesh.push_back(get_vertex_buffer_from_mesh(mesh)); + } + + mDecompositionQ.push(d); + } + + return true; +} + +LLMeshUploadThread::LLMeshUploadThread(LLMeshUploadThread::instance_list& data, LLVector3& scale, bool upload_textures) +: LLThread("mesh upload") +{ + mInstanceList = data; + mUploadTextures = upload_textures; + mMutex = new LLMutex(NULL); + mCurlRequest = NULL; + mPendingConfirmations = 0; + mPendingUploads = 0; + mPendingCost = 0; + mFinished = false; + mOrigin = gAgent.getPositionAgent(); + mHost = gAgent.getRegionHost(); + mUploadObjectAssetCapability = gAgent.getRegion()->getCapability("UploadObjectAsset"); + mNewInventoryCapability = gAgent.getRegion()->getCapability("NewFileAgentInventoryVariablePrice"); + + mOrigin += gAgent.getAtAxis() * scale.magVec(); + + scrub_host_name(mUploadObjectAssetCapability, mHost); + scrub_host_name(mNewInventoryCapability, mHost); +} + +LLMeshUploadThread::~LLMeshUploadThread() +{ + +} + +void LLMeshUploadThread::run() +{ + mCurlRequest = new LLCurlRequest(); + + //build map of LLModel refs to instances for callbacks + for (instance_list::iterator iter = mInstanceList.begin(); iter != mInstanceList.end(); ++iter) + { + mInstance[iter->mModel].push_back(*iter); + } + + std::set > textures; + + //populate upload queue with relevant models + for (instance_map::iterator iter = mInstance.begin(); iter != mInstance.end(); ++iter) + { + LLMeshUploadData data; + data.mBaseModel = iter->first; + + LLModelInstance& instance = *(iter->second.begin()); + + for (S32 i = 0; i < 5; i++) + { + data.mModel[i] = instance.mLOD[i]; + } + + uploadModel(data); + + if (mUploadTextures) + { + for (std::vector::iterator material_iter = instance.mMaterial.begin(); + material_iter != instance.mMaterial.end(); ++material_iter) + { + + if (textures.find(material_iter->mDiffuseMap) == textures.end()) + { + textures.insert(material_iter->mDiffuseMap); + + LLTextureUploadData data(material_iter->mDiffuseMap, material_iter->mDiffuseMapLabel); + uploadTexture(data); + } + } + } + } + + + //upload textures + bool done = false; + do + { + if (!mTextureQ.empty()) + { + sendCostRequest(mTextureQ.front()); + mTextureQ.pop(); + } + + if (!mConfirmedTextureQ.empty()) + { + doUploadTexture(mConfirmedTextureQ.front()); + mConfirmedTextureQ.pop(); + } + + mCurlRequest->process(); + + done = mTextureQ.empty() && mConfirmedTextureQ.empty(); + } + while (!done || mCurlRequest->getQueued() > 0); + + LLSD object_asset; + object_asset["objects"] = LLSD::emptyArray(); + + done = false; + do + { + static S32 count = 0; + static F32 last_hundred = gFrameTimeSeconds; + if (gFrameTimeSeconds - last_hundred > 1.f) + { + last_hundred = gFrameTimeSeconds; + count = 0; + } + + //how many requests to push before calling process + const S32 PUSH_PER_PROCESS = 32; + + S32 tcount = llmin(count+PUSH_PER_PROCESS, 100); + + while (!mUploadQ.empty() && count < tcount) + { //send any pending upload requests + mMutex->lock(); + LLMeshUploadData data = mUploadQ.front(); + mUploadQ.pop(); + mMutex->unlock(); + sendCostRequest(data); + count++; + } + + tcount = llmin(count+PUSH_PER_PROCESS, 100); + + while (!mConfirmedQ.empty() && count < tcount) + { //process any meshes that have been confirmed for upload + LLMeshUploadData& data = mConfirmedQ.front(); + doUploadModel(data); + mConfirmedQ.pop(); + count++; + } + + tcount = llmin(count+PUSH_PER_PROCESS, 100); + + while (!mInstanceQ.empty() && count < tcount) + { //create any objects waiting for upload + count++; + object_asset["objects"].append(createObject(mInstanceQ.front())); + mInstanceQ.pop(); + } + + mCurlRequest->process(); + + done = mInstanceQ.empty() && mConfirmedQ.empty() && mUploadQ.empty(); + } + while (!done || mCurlRequest->getQueued() > 0); + + delete mCurlRequest; + mCurlRequest = NULL; + + // now upload the object asset + std::string url = mUploadObjectAssetCapability; + LLHTTPClient::post(url, object_asset, new LLHTTPClient::Responder()); + + mFinished = true; +} + +void LLMeshUploadThread::uploadModel(LLMeshUploadData& data) +{ //called from arbitrary thread + { + LLMutexLock lock(mMutex); + mUploadQ.push(data); + } +} + +void LLMeshUploadThread::uploadTexture(LLTextureUploadData& data) +{ //called from mesh upload thread + mTextureQ.push(data); +} + + +static LLFastTimer::DeclareTimer FTM_NOTIFY_MESH_LOADED("Notify Loaded"); +static LLFastTimer::DeclareTimer FTM_NOTIFY_MESH_UNAVAILABLE("Notify Unavailable"); + +void LLMeshRepoThread::notifyLoadedMeshes() +{ + while (!mLoadedQ.empty()) + { + mMutex->lock(); + LoadedMesh mesh = mLoadedQ.front(); + mLoadedQ.pop(); + mMutex->unlock(); + + if (mesh.mVolume && mesh.mVolume->getNumVolumeFaces() > 0) + { + gMeshRepo.notifyMeshLoaded(mesh.mMeshParams, mesh.mVolume); + } + else + { + gMeshRepo.notifyMeshUnavailable(mesh.mMeshParams, + LLVolumeLODGroup::getVolumeDetailFromScale(mesh.mVolume->getDetail())); + } + } + + while (!mUnavailableQ.empty()) + { + mMutex->lock(); + LODRequest req = mUnavailableQ.front(); + mUnavailableQ.pop(); + mMutex->unlock(); + + gMeshRepo.notifyMeshUnavailable(req.mMeshParams, req.mLOD); + } + + while (!mSkinInfoQ.empty()) + { + gMeshRepo.notifySkinInfoReceived(mSkinInfoQ.front()); + mSkinInfoQ.pop(); + } + + while (!mDecompositionQ.empty()) + { + gMeshRepo.notifyDecompositionReceived(mDecompositionQ.front()); + mDecompositionQ.pop(); + } +} + +S32 LLMeshRepoThread::getActualMeshLOD(const LLVolumeParams& mesh_params, S32 lod) +{ //only ever called from main thread + lod = llclamp(lod, 0, 3); + + LLMutexLock lock(mHeaderMutex); + mesh_header_map::iterator iter = mMeshHeader.find(mesh_params.getSculptID()); + + if (iter != mMeshHeader.end()) + { + LLSD& header = iter->second; + + if (header.has("404")) + { + return -1; + } + + if (header[header_lod[lod]]["size"].asInteger() > 0) + { + return lod; + } + + //search down to find the next available lower lod + for (S32 i = lod-1; i >= 0; --i) + { + if (header[header_lod[i]]["size"].asInteger() > 0) + { + return i; + } + } + + //search up to find then ext available higher lod + for (S32 i = lod+1; i < 4; ++i) + { + if (header[header_lod[i]]["size"].asInteger() > 0) + { + return i; + } + } + + //header exists and no good lod found, treat as 404 + header["404"] = 1; + return -1; + } + + return lod; +} + +U32 LLMeshRepoThread::getResourceCost(const LLUUID& mesh_id) +{ + LLMutexLock lock(mHeaderMutex); + + std::map::iterator iter = mMeshResourceCost.find(mesh_id); + if (iter != mMeshResourceCost.end()) + { + return iter->second; + } + + return 0; +} + +void LLMeshRepository::cacheOutgoingMesh(LLMeshUploadData& data, LLSD& header) +{ + mThread->mMeshHeader[data.mUUID] = header; + + // we cache the mesh for default parameters + LLVolumeParams volume_params; + volume_params.setType(LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE); + volume_params.setSculptID(data.mUUID, LL_SCULPT_TYPE_MESH); + + for (U32 i = 0; i < 4; i++) + { + if (data.mModel[i].notNull()) + { + LLPointer volume = new LLVolume(volume_params, LLVolumeLODGroup::getVolumeScaleFromDetail(i)); + volume->copyVolumeFaces(data.mModel[i]); + } + } + +} + +void LLMeshLODResponder::completedRaw(U32 status, const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer) +{ + + LLMeshRepoThread::sActiveLODRequests--; + S32 data_size = buffer->countAfter(channels.in(), NULL); + + if (status < 200 || status > 400) + { + llwarns << status << ": " << reason << llendl; + } + + if (data_size < mRequestedBytes) + { + if (status == 499 || status == 503) + { //timeout or service unavailable, try again + LLMeshRepository::sHTTPRetryCount++; + gMeshRepo.mThread->loadMeshLOD(mMeshParams, mLOD); + } + else + { + llwarns << "Unhandled status " << status << llendl; + } + return; + } + + LLMeshRepository::sBytesReceived += mRequestedBytes; + + U8* data = NULL; + + if (data_size > 0) + { + data = new U8[data_size]; + buffer->readAfter(channels.in(), NULL, data, data_size); + } + + if (gMeshRepo.mThread->lodReceived(mMeshParams, mLOD, data, data_size)) + { + //good fetch from sim, write to VFS for caching + LLVFile file(gVFS, mMeshParams.getSculptID(), LLAssetType::AT_MESH, LLVFile::WRITE); + + S32 offset = mOffset; + S32 size = mRequestedBytes; + + if (file.getSize() >= offset+size) + { + file.seek(offset); + file.write(data, size); + LLMeshRepository::sCacheBytesWritten += size; + } + } + + delete [] data; +} + +void LLMeshSkinInfoResponder::completedRaw(U32 status, const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer) +{ + S32 data_size = buffer->countAfter(channels.in(), NULL); + + if (status < 200 || status > 400) + { + llwarns << status << ": " << reason << llendl; + } + + if (data_size < mRequestedBytes) + { + if (status == 499 || status == 503) + { //timeout or service unavailable, try again + LLMeshRepository::sHTTPRetryCount++; + gMeshRepo.mThread->loadMeshSkinInfo(mMeshID); + } + else + { + llwarns << "Unhandled status " << status << llendl; + } + return; + } + + LLMeshRepository::sBytesReceived += mRequestedBytes; + + U8* data = NULL; + + if (data_size > 0) + { + data = new U8[data_size]; + buffer->readAfter(channels.in(), NULL, data, data_size); + } + + if (gMeshRepo.mThread->skinInfoReceived(mMeshID, data, data_size)) + { + //good fetch from sim, write to VFS for caching + LLVFile file(gVFS, mMeshID, LLAssetType::AT_MESH, LLVFile::WRITE); + + S32 offset = mOffset; + S32 size = mRequestedBytes; + + if (file.getSize() >= offset+size) + { + LLMeshRepository::sCacheBytesWritten += size; + file.seek(offset); + file.write(data, size); + } + } + + delete [] data; +} + +void LLMeshDecompositionResponder::completedRaw(U32 status, const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer) +{ + S32 data_size = buffer->countAfter(channels.in(), NULL); + + if (status < 200 || status > 400) + { + llwarns << status << ": " << reason << llendl; + } + + if (data_size < mRequestedBytes) + { + if (status == 499 || status == 503) + { //timeout or service unavailable, try again + LLMeshRepository::sHTTPRetryCount++; + gMeshRepo.mThread->loadMeshDecomposition(mMeshID); + } + else + { + llwarns << "Unhandled status " << status << llendl; + } + return; + } + + LLMeshRepository::sBytesReceived += mRequestedBytes; + + U8* data = NULL; + + if (data_size > 0) + { + data = new U8[data_size]; + buffer->readAfter(channels.in(), NULL, data, data_size); + } + + if (gMeshRepo.mThread->decompositionReceived(mMeshID, data, data_size)) + { + //good fetch from sim, write to VFS for caching + LLVFile file(gVFS, mMeshID, LLAssetType::AT_MESH, LLVFile::WRITE); + + S32 offset = mOffset; + S32 size = mRequestedBytes; + + if (file.getSize() >= offset+size) + { + LLMeshRepository::sCacheBytesWritten += size; + file.seek(offset); + file.write(data, size); + } + } + + delete [] data; +} + +void LLMeshHeaderResponder::completedRaw(U32 status, const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer) +{ + LLMeshRepoThread::sActiveHeaderRequests--; + if (status < 200 || status > 400) + { + llwarns << status << ": " << reason << llendl; + } + + S32 data_size = buffer->countAfter(channels.in(), NULL); + + U8* data = NULL; + + if (data_size > 0) + { + data = new U8[data_size]; + buffer->readAfter(channels.in(), NULL, data, data_size); + } + + LLMeshRepository::sBytesReceived += llmin(data_size, 4096); + + if (!gMeshRepo.mThread->headerReceived(mMeshParams, data, data_size)) + { + llwarns << "Header responder failed with status: " << status << ": " << reason << llendl; + if (status == 503 || status == 499) + { //retry + LLMeshRepository::sHTTPRetryCount++; + LLMeshRepoThread::HeaderRequest req(mMeshParams); + gMeshRepo.mThread->mHeaderReqQ.push(req); + } + } + else if (data && data_size > 0) + { + //header was successfully retrieved from sim, cache in vfs + LLUUID mesh_id = mMeshParams.getSculptID(); + LLSD header = gMeshRepo.mThread->mMeshHeader[mesh_id]; + + std::stringstream str; + + S32 lod_bytes = 0; + + for (U32 i = 0; i < LLModel::LOD_PHYSICS; ++i) + { //figure out how many bytes we'll need to reserve in the file + std::string lod_name = header_lod[i]; + lod_bytes = llmax(lod_bytes, header[lod_name]["offset"].asInteger()+header[lod_name]["size"].asInteger()); + } + + //just in case skin info or decomposition is at the end of the file (which it shouldn't be) + lod_bytes = llmax(lod_bytes, header["skin"]["offset"].asInteger() + header["skin"]["size"].asInteger()); + lod_bytes = llmax(lod_bytes, header["decomposition"]["offset"].asInteger() + header["decomposition"]["size"].asInteger()); + + S32 header_bytes = (S32) gMeshRepo.mThread->mMeshHeaderSize[mesh_id]; + S32 bytes = lod_bytes + header_bytes; + + + //it's possible for the remote asset to have more data than is needed for the local cache + //only allocate as much space in the VFS as is needed for the local cache + data_size = llmin(data_size, bytes); + + LLVFile file(gVFS, mesh_id, LLAssetType::AT_MESH, LLVFile::WRITE); + if (file.getMaxSize() >= bytes || file.setMaxSize(bytes)) + { + LLMeshRepository::sCacheBytesWritten += data_size; + + file.write((const U8*) data, data_size); + + //zero out the rest of the file + U8 block[4096]; + memset(block, 0, 4096); + + while (bytes-file.tell() > 4096) + { + file.write(block, 4096); + } + + S32 remaining = bytes-file.tell(); + + if (remaining < 0 || remaining > 4096) + { + llerrs << "Bad padding of mesh asset cache entry." << llendl; + } + + if (remaining > 0) + { + file.write(block, remaining); + } + } + } + + delete [] data; +} + + +LLMeshRepository::LLMeshRepository() +: mMeshMutex(NULL), + mMeshThreadCount(0), + mThread(NULL) +{ + +} + +void LLMeshRepository::init() +{ + mMeshMutex = new LLMutex(NULL); + + mDecompThread = new LLPhysicsDecomp(); + mDecompThread->start(); + + while (!mDecompThread->mInited) + { //wait for physics decomp thread to init + apr_sleep(100); + } + + mThread = new LLMeshRepoThread(); + mThread->start(); +} + +void LLMeshRepository::shutdown() +{ + mThread->mSignal->signal(); + + delete mThread; + mThread = NULL; + + for (U32 i = 0; i < mUploads.size(); ++i) + { + delete mUploads[i]; + } + + mUploads.clear(); + + delete mMeshMutex; + mMeshMutex = NULL; + + if (mDecompThread) + { + mDecompThread->shutdown(); + delete mDecompThread; + mDecompThread = NULL; + } +} + + +S32 LLMeshRepository::loadMesh(LLVOVolume* vobj, const LLVolumeParams& mesh_params, S32 detail) +{ + if (detail < 0 || detail > 4) + { + return detail; + } + + LLFastTimer t(FTM_LOAD_MESH); + + { + LLMutexLock lock(mMeshMutex); + //add volume to list of loading meshes + mesh_load_map::iterator iter = mLoadingMeshes[detail].find(mesh_params); + if (iter != mLoadingMeshes[detail].end()) + { //request pending for this mesh, append volume id to list + iter->second.insert(vobj->getID()); + } + else + { + //first request for this mesh + mLoadingMeshes[detail][mesh_params].insert(vobj->getID()); + mPendingRequests.push_back(LLMeshRepoThread::LODRequest(mesh_params, detail)); + } + } + + //do a quick search to see if we can't display something while we wait for this mesh to load + LLVolume* volume = vobj->getVolume(); + + if (volume) + { + if (volume->getNumVolumeFaces() == 0 && !volume->isTetrahedron()) + { + volume->makeTetrahedron(); + } + + LLVolumeParams params = volume->getParams(); + + LLVolumeLODGroup* group = LLPrimitive::getVolumeManager()->getGroup(params); + + if (group) + { + //first see what the next lowest LOD available might be + for (S32 i = detail-1; i >= 0; --i) + { + LLVolume* lod = group->refLOD(i); + if (lod && !lod->isTetrahedron() && lod->getNumVolumeFaces() > 0) + { + group->derefLOD(lod); + return i; + } + + group->derefLOD(lod); + } + + //no lower LOD is a available, is a higher lod available? + for (S32 i = detail+1; i < 4; ++i) + { + LLVolume* lod = group->refLOD(i); + if (lod && !lod->isTetrahedron() && lod->getNumVolumeFaces() > 0) + { + group->derefLOD(lod); + return i; + } + + group->derefLOD(lod); + } + } + else + { + llerrs << "WTF?" << llendl; + } + } + + return detail; +} + +static LLFastTimer::DeclareTimer FTM_START_MESH_THREAD("Start Thread"); +static LLFastTimer::DeclareTimer FTM_LOAD_MESH_LOD("Load LOD"); +static LLFastTimer::DeclareTimer FTM_MESH_LOCK1("Lock 1"); +static LLFastTimer::DeclareTimer FTM_MESH_LOCK2("Lock 2"); + +void LLMeshRepository::notifyLoadedMeshes() +{ //called from main thread + + LLMeshRepoThread::sMaxConcurrentRequests = gSavedSettings.getU32("MeshMaxConcurrentRequests"); + + //clean up completed upload threads + for (std::vector::iterator iter = mUploads.begin(); iter != mUploads.end(); ) + { + LLMeshUploadThread* thread = *iter; + + if (thread->isStopped() && thread->finished()) + { + iter = mUploads.erase(iter); + delete thread; + } + else + { + ++iter; + } + } + + //update inventory + if (!mInventoryQ.empty()) + { + LLMutexLock lock(mMeshMutex); + while (!mInventoryQ.empty()) + { + inventory_data& data = mInventoryQ.front(); + + LLAssetType::EType asset_type = LLAssetType::lookup(data.mPostData["asset_type"].asString()); + LLInventoryType::EType inventory_type = LLInventoryType::lookup(data.mPostData["inventory_type"].asString()); + + on_new_single_inventory_upload_complete( + asset_type, + inventory_type, + data.mPostData["asset_type"].asString(), + data.mPostData["folder_id"].asUUID(), + data.mPostData["name"], + data.mPostData["description"], + data.mResponse, + 0); + + mInventoryQ.pop(); + } + } + + if (!mThread->mWaiting) + { //curl thread is churning, wait for it to go idle + return; + } + + LLFastTimer t(FTM_MESH_UPDATE); + + { + LLFastTimer t(FTM_MESH_LOCK1); + mMeshMutex->lock(); + } + + { + LLFastTimer t(FTM_MESH_LOCK2); + mThread->mMutex->lock(); + } + + //popup queued error messages from background threads + while (!mUploadErrorQ.empty()) + { + LLNotificationsUtil::add("MeshUploadError", mUploadErrorQ.front()); + mUploadErrorQ.pop(); + } + + S32 push_count = LLMeshRepoThread::sMaxConcurrentRequests-(LLMeshRepoThread::sActiveHeaderRequests+LLMeshRepoThread::sActiveLODRequests); + + if (push_count > 0) + { + //calculate "score" for pending requests + + //create score map + std::map score_map; + + for (U32 i = 0; i < 4; ++i) + { + for (mesh_load_map::iterator iter = mLoadingMeshes[i].begin(); iter != mLoadingMeshes[i].end(); ++iter) + { + F32 max_score = 0.f; + for (std::set::iterator obj_iter = iter->second.begin(); obj_iter != iter->second.end(); ++obj_iter) + { + LLViewerObject* object = gObjectList.findObject(*obj_iter); + + if (object) + { + LLDrawable* drawable = object->mDrawable; + if (drawable) + { + F32 cur_score = drawable->getRadius()/llmax(drawable->mDistanceWRTCamera, 1.f); + max_score = llmax(max_score, cur_score); + } + } + } + + score_map[iter->first.getSculptID()] = max_score; + } + } + + //set "score" for pending requests + for (std::vector::iterator iter = mPendingRequests.begin(); iter != mPendingRequests.end(); ++iter) + { + iter->mScore = score_map[iter->mMeshParams.getSculptID()]; + } + + //sort by "score" + std::sort(mPendingRequests.begin(), mPendingRequests.end(), LLMeshRepoThread::CompareScoreGreater()); + + while (!mPendingRequests.empty() && push_count > 0) + { + LLFastTimer t(FTM_LOAD_MESH_LOD); + LLMeshRepoThread::LODRequest& request = mPendingRequests.front(); + mThread->loadMeshLOD(request.mMeshParams, request.mLOD); + mPendingRequests.erase(mPendingRequests.begin()); + push_count--; + } + } + + //send skin info requests + while (!mPendingSkinRequests.empty()) + { + mThread->loadMeshSkinInfo(mPendingSkinRequests.front()); + mPendingSkinRequests.pop(); + } + + //send decomposition requests + while (!mPendingDecompositionRequests.empty()) + { + mThread->loadMeshDecomposition(mPendingDecompositionRequests.front()); + mPendingDecompositionRequests.pop(); + } + + mThread->notifyLoadedMeshes(); + + mThread->mMutex->unlock(); + mMeshMutex->unlock(); + + mThread->mSignal->signal(); +} + +void LLMeshRepository::notifySkinInfoReceived(LLMeshSkinInfo& info) +{ + mSkinMap[info.mMeshID] = info; + mLoadingSkins.erase(info.mMeshID); +} + +void LLMeshRepository::notifyDecompositionReceived(LLMeshDecomposition* decomp) +{ + mDecompositionMap[decomp->mMeshID] = decomp; + mLoadingDecompositions.erase(decomp->mMeshID); +} + +void LLMeshRepository::notifyMeshLoaded(const LLVolumeParams& mesh_params, LLVolume* volume) +{ + S32 detail = LLVolumeLODGroup::getVolumeDetailFromScale(volume->getDetail()); + + //get list of objects waiting to be notified this mesh is loaded + mesh_load_map::iterator obj_iter = mLoadingMeshes[detail].find(mesh_params); + + if (volume && obj_iter != mLoadingMeshes[detail].end()) + { + //make sure target volume is still valid + if (volume->getNumVolumeFaces() <= 0) + { + llwarns << "Mesh loading returned empty volume." << llendl; + volume->makeTetrahedron(); + } + + { //update system volume + LLVolume* sys_volume = LLPrimitive::getVolumeManager()->refVolume(mesh_params, detail); + if (sys_volume) + { + sys_volume->copyVolumeFaces(volume); + LLPrimitive::getVolumeManager()->unrefVolume(sys_volume); + } + else + { + llwarns << "Couldn't find system volume for given mesh." << llendl; + } + } + + //notify waiting LLVOVolume instances that their requested mesh is available + for (std::set::iterator vobj_iter = obj_iter->second.begin(); vobj_iter != obj_iter->second.end(); ++vobj_iter) + { + LLVOVolume* vobj = (LLVOVolume*) gObjectList.findObject(*vobj_iter); + if (vobj) + { + vobj->notifyMeshLoaded(); + } + } + + mLoadingMeshes[detail].erase(mesh_params); + } +} + +void LLMeshRepository::notifyMeshUnavailable(const LLVolumeParams& mesh_params, S32 lod) +{ + //get list of objects waiting to be notified this mesh is loaded + mesh_load_map::iterator obj_iter = mLoadingMeshes[lod].find(mesh_params); + + F32 detail = LLVolumeLODGroup::getVolumeScaleFromDetail(lod); + + if (obj_iter != mLoadingMeshes[lod].end()) + { + for (std::set::iterator vobj_iter = obj_iter->second.begin(); vobj_iter != obj_iter->second.end(); ++vobj_iter) + { + LLVOVolume* vobj = (LLVOVolume*) gObjectList.findObject(*vobj_iter); + if (vobj) + { + LLVolume* obj_volume = vobj->getVolume(); + + if (obj_volume && + obj_volume->getDetail() == detail && + obj_volume->getParams() == mesh_params) + { //should force volume to find most appropriate LOD + vobj->setVolume(obj_volume->getParams(), lod); + } + } + } + + mLoadingMeshes[lod].erase(mesh_params); + } +} + +S32 LLMeshRepository::getActualMeshLOD(const LLVolumeParams& mesh_params, S32 lod) +{ + return mThread->getActualMeshLOD(mesh_params, lod); +} + +U32 LLMeshRepository::calcResourceCost(LLSD& header) +{ + U32 bytes = 0; + + for (U32 i = 0; i < 4; i++) + { + bytes += header[header_lod[i]]["size"].asInteger(); + } + + bytes += header["skin"]["size"].asInteger(); + + return bytes/4096 + 1; +} + +U32 LLMeshRepository::getResourceCost(const LLUUID& mesh_id) +{ + return mThread->getResourceCost(mesh_id); +} + +const LLMeshSkinInfo* LLMeshRepository::getSkinInfo(const LLUUID& mesh_id) +{ + if (mesh_id.notNull()) + { + skin_map::iterator iter = mSkinMap.find(mesh_id); + if (iter != mSkinMap.end()) + { + return &(iter->second); + } + + //no skin info known about given mesh, try to fetch it + { + LLMutexLock lock(mMeshMutex); + //add volume to list of loading meshes + std::set::iterator iter = mLoadingSkins.find(mesh_id); + if (iter == mLoadingSkins.end()) + { //no request pending for this skin info + mLoadingSkins.insert(mesh_id); + mPendingSkinRequests.push(mesh_id); + } + } + } + + return NULL; +} + +const LLMeshDecomposition* LLMeshRepository::getDecomposition(const LLUUID& mesh_id) +{ + if (mesh_id.notNull()) + { + decomposition_map::iterator iter = mDecompositionMap.find(mesh_id); + if (iter != mDecompositionMap.end()) + { + return iter->second; + } + + //no skin info known about given mesh, try to fetch it + { + LLMutexLock lock(mMeshMutex); + //add volume to list of loading meshes + std::set::iterator iter = mLoadingDecompositions.find(mesh_id); + if (iter == mLoadingDecompositions.end()) + { //no request pending for this skin info + mLoadingDecompositions.insert(mesh_id); + mPendingDecompositionRequests.push(mesh_id); + } + } + } + + return NULL; +} + +void LLMeshRepository::uploadModel(std::vector& data, LLVector3& scale, bool upload_textures) +{ + LLMeshUploadThread* thread = new LLMeshUploadThread(data, scale, upload_textures); + mUploads.push_back(thread); + thread->start(); +} + +void LLMeshUploadThread::sendCostRequest(LLMeshUploadData& data) +{ + //write model file to memory buffer + std::stringstream ostr; + + LLModel::physics_shape& phys_shape = data.mModel[LLModel::LOD_PHYSICS].notNull() ? + data.mModel[LLModel::LOD_PHYSICS]->mPhysicsShape : + data.mBaseModel->mPhysicsShape; + + LLSD header = LLModel::writeModel(ostr, + data.mModel[LLModel::LOD_PHYSICS], + data.mModel[LLModel::LOD_HIGH], + data.mModel[LLModel::LOD_MEDIUM], + data.mModel[LLModel::LOD_LOW], + data.mModel[LLModel::LOD_IMPOSTOR], + phys_shape, + true); + + std::string desc = data.mBaseModel->mLabel; + + // Grab the total vertex count of the model + // along with other information for the "asset_resources" map + // to send to the server. + LLSD asset_resources = LLSD::emptyMap(); + + + std::string url = mNewInventoryCapability; + + if (!url.empty()) + { + LLSD body = generate_new_resource_upload_capability_body( + LLAssetType::AT_MESH, + desc, + desc, + LLFolderType::FT_MESH, + LLInventoryType::IT_MESH, + LLFloaterPerms::getNextOwnerPerms(), + LLFloaterPerms::getGroupPerms(), + LLFloaterPerms::getEveryonePerms()); + + body["asset_resources"] = asset_resources; + + mPendingConfirmations++; + LLCurlRequest::headers_t headers; + + data.mPostData = body; + + mCurlRequest->post(url, headers, body, new LLMeshCostResponder(data, this)); + } +} + +void LLMeshUploadThread::sendCostRequest(LLTextureUploadData& data) +{ + if (data.mTexture.notNull() && data.mTexture->getDiscardLevel() >= 0) + { + LLSD asset_resources = LLSD::emptyMap(); + + std::string url = mNewInventoryCapability; + + if (!url.empty()) + { + LLSD body = generate_new_resource_upload_capability_body( + LLAssetType::AT_TEXTURE, + data.mLabel, + data.mLabel, + LLFolderType::FT_TEXTURE, + LLInventoryType::IT_TEXTURE, + LLFloaterPerms::getNextOwnerPerms(), + LLFloaterPerms::getGroupPerms(), + LLFloaterPerms::getEveryonePerms()); + + body["asset_resources"] = asset_resources; + + mPendingConfirmations++; + LLCurlRequest::headers_t headers; + + data.mPostData = body; + mCurlRequest->post(url, headers, body, new LLTextureCostResponder(data, this)); + } + } +} + + +void LLMeshUploadThread::doUploadModel(LLMeshUploadData& data) +{ + if (!data.mRSVP.empty()) + { + std::stringstream ostr; + + LLModel::physics_shape& phys_shape = data.mModel[LLModel::LOD_PHYSICS].notNull() ? + data.mModel[LLModel::LOD_PHYSICS]->mPhysicsShape : + data.mBaseModel->mPhysicsShape; + + LLModel::writeModel(ostr, + data.mModel[LLModel::LOD_PHYSICS], + data.mModel[LLModel::LOD_HIGH], + data.mModel[LLModel::LOD_MEDIUM], + data.mModel[LLModel::LOD_LOW], + data.mModel[LLModel::LOD_IMPOSTOR], + phys_shape); + + data.mAssetData = ostr.str(); + + LLCurlRequest::headers_t headers; + mPendingUploads++; + + mCurlRequest->post(data.mRSVP, headers, data.mAssetData, new LLMeshUploadResponder(data, this)); + } +} + +void LLMeshUploadThread::doUploadTexture(LLTextureUploadData& data) +{ + if (!data.mRSVP.empty()) + { + std::stringstream ostr; + + if (!data.mTexture->isRawImageValid()) + { + data.mTexture->reloadRawImage(data.mTexture->getDiscardLevel()); + } + + LLPointer upload_file = LLViewerTextureList::convertToUploadFile(data.mTexture->getRawImage()); + + ostr.write((const char*) upload_file->getData(), upload_file->getDataSize()); + + data.mAssetData = ostr.str(); + + LLCurlRequest::headers_t headers; + mPendingUploads++; + + mCurlRequest->post(data.mRSVP, headers, data.mAssetData, new LLTextureUploadResponder(data, this)); + } +} + + +void LLMeshUploadThread::onModelUploaded(LLMeshUploadData& data) +{ + createObjects(data); +} + +void LLMeshUploadThread::onTextureUploaded(LLTextureUploadData& data) +{ + mTextureMap[data.mTexture] = data; +} + + +void LLMeshUploadThread::createObjects(LLMeshUploadData& data) +{ + instance_list& instances = mInstance[data.mBaseModel]; + + for (instance_list::iterator iter = instances.begin(); iter != instances.end(); ++iter) + { //create prims that reference given mesh + LLModelInstance& instance = *iter; + instance.mMeshID = data.mUUID; + mInstanceQ.push(instance); + } +} + +LLSD LLMeshUploadThread::createObject(LLModelInstance& instance) +{ + LLMatrix4 transformation = instance.mTransform; + + if (instance.mMeshID.isNull()) + { + llerrs << "WTF?" << llendl; + } + + // check for reflection + BOOL reflected = (transformation.determinant() < 0); + + // compute position + LLVector3 position = LLVector3(0, 0, 0) * transformation; + + // compute scale + LLVector3 x_transformed = LLVector3(1, 0, 0) * transformation - position; + LLVector3 y_transformed = LLVector3(0, 1, 0) * transformation - position; + LLVector3 z_transformed = LLVector3(0, 0, 1) * transformation - position; + F32 x_length = x_transformed.normalize(); + F32 y_length = y_transformed.normalize(); + F32 z_length = z_transformed.normalize(); + LLVector3 scale = LLVector3(x_length, y_length, z_length); + + // adjust for "reflected" geometry + LLVector3 x_transformed_reflected = x_transformed; + if (reflected) + { + x_transformed_reflected *= -1.0; + } + + // compute rotation + LLMatrix3 rotation_matrix; + rotation_matrix.setRows(x_transformed_reflected, y_transformed, z_transformed); + LLQuaternion quat_rotation = rotation_matrix.quaternion(); + quat_rotation.normalize(); // the rotation_matrix might not have been orthoginal. make it so here. + LLVector3 euler_rotation; + quat_rotation.getEulerAngles(&euler_rotation.mV[VX], &euler_rotation.mV[VY], &euler_rotation.mV[VZ]); + + // + // build parameter block to construct this prim + // + + LLSD object_params; + + // create prim + + // set volume params + U8 sculpt_type = LL_SCULPT_TYPE_MESH; + if (reflected) + { + sculpt_type |= LL_SCULPT_FLAG_MIRROR; + } + LLVolumeParams volume_params; + volume_params.setType( LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE ); + volume_params.setBeginAndEndS( 0.f, 1.f ); + volume_params.setBeginAndEndT( 0.f, 1.f ); + volume_params.setRatio ( 1, 1 ); + volume_params.setShear ( 0, 0 ); + volume_params.setSculptID(instance.mMeshID, sculpt_type); + object_params["shape"] = volume_params.asLLSD(); + + object_params["material"] = LL_MCODE_WOOD; + + object_params["group-id"] = gAgent.getGroupID(); + object_params["pos"] = ll_sd_from_vector3(position + mOrigin); + object_params["rotation"] = ll_sd_from_quaternion(quat_rotation); + object_params["scale"] = ll_sd_from_vector3(scale); + object_params["name"] = instance.mModel->mLabel; + + // load material from dae file + object_params["facelist"] = LLSD::emptyArray(); + for (S32 i = 0; i < instance.mMaterial.size(); i++) + { + LLTextureEntry te; + LLImportMaterial& mat = instance.mMaterial[i]; + + te.setColor(mat.mDiffuseColor); + + LLUUID diffuse_id = mTextureMap[mat.mDiffuseMap].mUUID; + + if (diffuse_id.notNull()) + { + te.setID(diffuse_id); + } + else + { + te.setID(LLUUID("5748decc-f629-461c-9a36-a35a221fe21f")); // blank texture + } + + te.setFullbright(mat.mFullbright); + + object_params["facelist"][i] = te.asLLSD(); + } + + // set extra parameters + LLSculptParams sculpt_params; + sculpt_params.setSculptTexture(instance.mMeshID); + sculpt_params.setSculptType(sculpt_type); + U8 buffer[MAX_OBJECT_PARAMS_SIZE+1]; + LLDataPackerBinaryBuffer dp(buffer, MAX_OBJECT_PARAMS_SIZE); + sculpt_params.pack(dp); + std::vector v(dp.getCurrentSize()); + memcpy(&v[0], buffer, dp.getCurrentSize()); + LLSD extra_parameter; + extra_parameter["extra_parameter"] = sculpt_params.mType; + extra_parameter["param_data"] = v; + object_params["extra_parameters"].append(extra_parameter); + + return object_params; +} + +void LLMeshUploadThread::priceResult(LLMeshUploadData& data, const LLSD& content) +{ + mPendingCost += content["upload_price"].asInteger(); + data.mRSVP = content["rsvp"].asString(); + data.mRSVP = scrub_host_name(data.mRSVP, mHost); + + mConfirmedQ.push(data); +} + +void LLMeshUploadThread::priceResult(LLTextureUploadData& data, const LLSD& content) +{ + mPendingCost += content["upload_price"].asInteger(); + data.mRSVP = content["rsvp"].asString(); + data.mRSVP = scrub_host_name(data.mRSVP, mHost); + + mConfirmedTextureQ.push(data); +} + + +bool LLImportMaterial::operator<(const LLImportMaterial &rhs) const +{ + if (mDiffuseMap != rhs.mDiffuseMap) + { + return mDiffuseMap < rhs.mDiffuseMap; + } + + if (mDiffuseMapFilename != rhs.mDiffuseMapFilename) + { + return mDiffuseMapFilename < rhs.mDiffuseMapFilename; + } + + if (mDiffuseMapLabel != rhs.mDiffuseMapLabel) + { + return mDiffuseMapLabel < rhs.mDiffuseMapLabel; + } + + if (mDiffuseColor != rhs.mDiffuseColor) + { + return mDiffuseColor < rhs.mDiffuseColor; + } + + return mFullbright < rhs.mFullbright; +} + + +void LLMeshRepository::updateInventory(inventory_data data) +{ + LLMutexLock lock(mMeshMutex); + mInventoryQ.push(data); +} + +void LLMeshRepository::uploadError(LLSD& args) +{ + LLMutexLock lock(mMeshMutex); + mUploadErrorQ.push(args); +} + + +LLPhysicsDecomp::LLPhysicsDecomp() +: LLThread("Physics Decomp") +{ + mInited = false; + mQuitting = false; + mDone = false; + mStage = -1; + mContinue = 1; + + mSignal = new LLCondition(NULL); + mMutex = new LLMutex(NULL); + + setStatusMessage("Idle"); +} + +LLPhysicsDecomp::~LLPhysicsDecomp() +{ + shutdown(); +} + +void LLPhysicsDecomp::shutdown() +{ + if (mSignal) + { + mQuitting = true; + mContinue = 0; + mSignal->signal(); + + while (!mDone) + { + apr_sleep(100); + } + } +} + +void LLPhysicsDecomp::setStatusMessage(std::string msg) +{ + LLMutexLock lock(mMutex); + mStatus = msg; +} + +void LLPhysicsDecomp::execute(const char* stage, LLModel* mdl) +{ + LLMutexLock lock(mMutex); + + if (mModel.notNull()) + { + llwarns << "Not done processing previous model." << llendl; + return; + } + + mModel = mdl; + //load model into LLCD + if (mdl) + { + mStage = mStageID[stage]; + + U16 index_offset = 0; + + if (mStage == 0) + { + mPositions.clear(); + mIndices.clear(); + + //queue up vertex positions and indices + for (S32 i = 0; i < mdl->getNumVolumeFaces(); ++i) + { + const LLVolumeFace& face = mdl->getVolumeFace(i); + if (mPositions.size() + face.mNumVertices > 65535) + { + continue; + } + + for (U32 j = 0; j < face.mNumVertices; ++j) + { + mPositions.push_back(LLVector3(face.mPositions[j].getF32ptr())); + } + + for (U32 j = 0; j < face.mNumIndices; ++j) + { + mIndices.push_back(face.mIndices[j]+index_offset); + } + + index_offset += face.mNumVertices; + } + } + + //signal decomposition thread + mSignal->signal(); + } +} + +//static +S32 LLPhysicsDecomp::llcdCallback(const char* status, S32 p1, S32 p2) +{ + LLPhysicsDecomp* comp = gMeshRepo.mDecompThread; + comp->setStatusMessage(llformat("%s: %d/%d", status, p1, p2)); + return comp->mContinue; +} + +void LLPhysicsDecomp::cancel() +{ + mContinue = 0; +} + +void LLPhysicsDecomp::run() +{ + LLConvexDecomposition::initSystem(); + mInited = true; + + while (!mQuitting) + { + mSignal->wait(); + if (!mQuitting) + { + //load data intoLLCD + if (mStage == 0) + { + mMesh.mVertexBase = mPositions[0].mV; + mMesh.mVertexStrideBytes = 12; + mMesh.mNumVertices = mPositions.size(); + + mMesh.mIndexType = LLCDMeshData::INT_16; + mMesh.mIndexBase = &(mIndices[0]); + mMesh.mIndexStrideBytes = 6; + + mMesh.mNumTriangles = mIndices.size()/3; + + LLCDResult ret = LLCD_OK; + if (LLConvexDecomposition::getInstance() != NULL) + { + ret = LLConvexDecomposition::getInstance()->setMeshData(&mMesh); + } + + if (ret) + { + llerrs << "Convex Decomposition thread valid but could not set mesh data" << llendl; + } + } + + setStatusMessage("Executing."); + + mContinue = 1; + LLCDResult ret = LLCD_OK; + if (LLConvexDecomposition::getInstance() != NULL) + { + ret = LLConvexDecomposition::getInstance()->executeStage(mStage); + } + + mContinue = 0; + if (ret) + { + llerrs << "Convex Decomposition thread valid but could not execute stage " << mStage << llendl; + } + + + setStatusMessage("Reading results"); + + S32 num_hulls =0; + if (LLConvexDecomposition::getInstance() != NULL) + { + num_hulls = LLConvexDecomposition::getInstance()->getNumHullsFromStage(mStage); + } + + if (mModel.isNull()) + { + llerrs << "mModel should never be null here!" << llendl; + } + + mMutex->lock(); + mModel->mPhysicsShape.clear(); + mModel->mPhysicsShape.resize(num_hulls); + mModel->mHullCenter.clear(); + mModel->mHullCenter.resize(num_hulls); + std::vector > mesh_buffer; + mesh_buffer.resize(num_hulls); + mModel->mPhysicsCenter.clearVec(); + mModel->mPhysicsPoints = 0; + mMutex->unlock(); + + for (S32 i = 0; i < num_hulls; ++i) + { + std::vector p; + LLCDHull hull; + // if LLConvexDecomposition is a stub, num_hulls should have been set to 0 above, and we should not reach this code + LLConvexDecomposition::getInstance()->getHullFromStage(mStage, i, &hull); + + const F32* v = hull.mVertexBase; + + LLVector3 hull_center; + + for (S32 j = 0; j < hull.mNumVertices; ++j) + { + LLVector3 vert(v[0], v[1], v[2]); + p.push_back(vert); + hull_center += vert; + v = (F32*) (((U8*) v) + hull.mVertexStrideBytes); + } + + + hull_center *= 1.f/hull.mNumVertices; + + LLCDMeshData mesh; + // if LLConvexDecomposition is a stub, num_hulls should have been set to 0 above, and we should not reach this code + LLConvexDecomposition::getInstance()->getMeshFromStage(mStage, i, &mesh); + + mesh_buffer[i] = get_vertex_buffer_from_mesh(mesh); + + mMutex->lock(); + mModel->mPhysicsShape[i] = p; + mModel->mHullCenter[i] = hull_center; + mModel->mPhysicsPoints += hull.mNumVertices; + mModel->mPhysicsCenter += hull_center; + + mMutex->unlock(); + } + + { + LLMutexLock lock(mMutex); + mModel->mPhysicsCenter *= 1.f/mModel->mPhysicsPoints; + + LLFloaterModelPreview::onModelDecompositionComplete(mModel, mesh_buffer); + //done updating model + mModel = NULL; + } + + setStatusMessage("Done."); + LLFloaterModelPreview::sInstance->mModelPreview->refresh(); + } + } + + LLConvexDecomposition::quitSystem(); + + //delete mSignal; + delete mMutex; + mSignal = NULL; + mMutex = NULL; + mDone = true; +} + +#endif + diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h new file mode 100644 index 0000000000..d5e21c35cc --- /dev/null +++ b/indra/newview/llmeshrepository.h @@ -0,0 +1,471 @@ +/** + * @file llmeshrepository.h + * @brief Client-side repository of mesh assets. + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_MESH_REPOSITORY_H +#define LL_MESH_REPOSITORY_H + +#include "llassettype.h" +#include "llmodel.h" +#include "lluuid.h" +#include "llviewertexture.h" +#include "llvolume.h" + +#if LL_MESH_ENABLED + +#define LLCONVEXDECOMPINTER_STATIC 1 + +#include "llconvexdecomposition.h" + +class LLVOVolume; +class LLMeshResponder; +class LLCurlRequest; +class LLMutex; +class LLCondition; +class LLVFS; +class LLMeshRepository; + +class LLMeshUploadData +{ +public: + LLPointer mBaseModel; + LLPointer mModel[5]; + LLUUID mUUID; + U32 mRetries; + std::string mRSVP; + std::string mAssetData; + LLSD mPostData; + + LLMeshUploadData() + { + mRetries = 0; + } +}; + +class LLTextureUploadData +{ +public: + LLPointer mTexture; + LLUUID mUUID; + std::string mRSVP; + std::string mLabel; + U32 mRetries; + std::string mAssetData; + LLSD mPostData; + + LLTextureUploadData() + { + mRetries = 0; + } + + LLTextureUploadData(LLViewerFetchedTexture* texture, std::string& label) + : mTexture(texture), mLabel(label) + { + mRetries = 0; + } +}; + +class LLImportMaterial +{ +public: + LLPointer mDiffuseMap; + std::string mDiffuseMapFilename; + std::string mDiffuseMapLabel; + LLColor4 mDiffuseColor; + bool mFullbright; + + bool operator<(const LLImportMaterial ¶ms) const; + + LLImportMaterial() + : mFullbright(false) + { + mDiffuseColor.set(1,1,1,1); + } +}; + +class LLModelInstance +{ +public: + LLPointer mModel; + LLPointer mLOD[5]; + + LLUUID mMeshID; + + LLMatrix4 mTransform; + std::vector mMaterial; + + LLModelInstance(LLModel* model, LLMatrix4& transform, std::vector& materials) + : mModel(model), mTransform(transform), mMaterial(materials) + { + } +}; + +class LLMeshSkinInfo +{ +public: + LLUUID mMeshID; + std::vector mJointNames; + std::vector mInvBindMatrix; + LLMatrix4 mBindShapeMatrix; +}; + +class LLMeshDecomposition +{ +public: + LLMeshDecomposition() { } + + LLUUID mMeshID; + LLModel::physics_shape mHull; + + std::vector > mMesh; +}; + +class LLPhysicsDecomp : public LLThread +{ +public: + LLCondition* mSignal; + LLMutex* mMutex; + + LLCDMeshData mMesh; + + bool mInited; + bool mQuitting; + bool mDone; + + S32 mContinue; + std::string mStatus; + + std::vector mPositions; + std::vector mIndices; + + S32 mStage; + + LLPhysicsDecomp(); + ~LLPhysicsDecomp(); + + void shutdown(); + void setStatusMessage(std::string msg); + + void execute(const char* stage, LLModel* mdl); + static S32 llcdCallback(const char*, S32, S32); + void cancel(); + + virtual void run(); + + std::map mStageID; + LLPointer mModel; +}; + +class LLMeshRepoThread : public LLThread +{ +public: + + static S32 sActiveHeaderRequests; + static S32 sActiveLODRequests; + static U32 sMaxConcurrentRequests; + + LLCurlRequest* mCurlRequest; + LLMutex* mMutex; + LLMutex* mHeaderMutex; + LLCondition* mSignal; + + bool mWaiting; + + //map of known mesh headers + typedef std::map mesh_header_map; + mesh_header_map mMeshHeader; + + std::map mMeshHeaderSize; + std::map mMeshResourceCost; + + class HeaderRequest + { + public: + const LLVolumeParams mMeshParams; + + HeaderRequest(const LLVolumeParams& mesh_params) + : mMeshParams(mesh_params) + { + } + + bool operator<(const HeaderRequest& rhs) const + { + return mMeshParams < rhs.mMeshParams; + } + }; + + class LODRequest + { + public: + LLVolumeParams mMeshParams; + S32 mLOD; + F32 mScore; + + LODRequest(const LLVolumeParams& mesh_params, S32 lod) + : mMeshParams(mesh_params), mLOD(lod), mScore(0.f) + { + } + }; + + struct CompareScoreGreater + { + bool operator()(const LODRequest& lhs, const LODRequest& rhs) + { + return lhs.mScore > rhs.mScore; // greatest = first + } + }; + + + class LoadedMesh + { + public: + LLPointer mVolume; + LLVolumeParams mMeshParams; + S32 mLOD; + + LoadedMesh(LLVolume* volume, const LLVolumeParams& mesh_params, S32 lod) + : mVolume(volume), mMeshParams(mesh_params), mLOD(lod) + { + } + + }; + + //set of requested skin info + std::set mSkinRequests; + + //queue of completed skin info requests + std::queue mSkinInfoQ; + + //set of requested decompositions + std::set mDecompositionRequests; + + //queue of completed Decomposition info requests + std::queue mDecompositionQ; + + //queue of requested headers + std::queue mHeaderReqQ; + + //queue of requested LODs + std::queue mLODReqQ; + + //queue of unavailable LODs (either asset doesn't exist or asset doesn't have desired LOD) + std::queue mUnavailableQ; + + //queue of successfully loaded meshes + std::queue mLoadedQ; + + //map of pending header requests and currently desired LODs + typedef std::map > pending_lod_map; + pending_lod_map mPendingLOD; + + static std::string constructUrl(LLUUID mesh_id); + + LLMeshRepoThread(); + ~LLMeshRepoThread(); + + virtual void run(); + + void loadMeshLOD(const LLVolumeParams& mesh_params, S32 lod); + bool fetchMeshHeader(const LLVolumeParams& mesh_params); + bool fetchMeshLOD(const LLVolumeParams& mesh_params, S32 lod); + bool headerReceived(const LLVolumeParams& mesh_params, U8* data, S32 data_size); + bool lodReceived(const LLVolumeParams& mesh_params, S32 lod, U8* data, S32 data_size); + bool skinInfoReceived(const LLUUID& mesh_id, U8* data, S32 data_size); + bool decompositionReceived(const LLUUID& mesh_id, U8* data, S32 data_size); + + void notifyLoadedMeshes(); + S32 getActualMeshLOD(const LLVolumeParams& mesh_params, S32 lod); + U32 getResourceCost(const LLUUID& mesh_params); + + void loadMeshSkinInfo(const LLUUID& mesh_id); + void loadMeshDecomposition(const LLUUID& mesh_id); + + //send request for skin info, returns true if header info exists + // (should hold onto mesh_id and try again later if header info does not exist) + bool fetchMeshSkinInfo(const LLUUID& mesh_id); + + //send request for decomposition, returns true if header info exists + // (should hold onto mesh_id and try again later if header info does not exist) + bool fetchMeshDecomposition(const LLUUID& mesh_id); +}; + +class LLMeshUploadThread : public LLThread +{ +public: + typedef std::vector instance_list; + instance_list mInstanceList; + + typedef std::map, instance_list> instance_map; + instance_map mInstance; + + LLMutex* mMutex; + LLCurlRequest* mCurlRequest; + S32 mPendingConfirmations; + S32 mPendingUploads; + S32 mPendingCost; + bool mFinished; + LLVector3 mOrigin; + bool mUploadTextures; + + LLHost mHost; + std::string mUploadObjectAssetCapability; + std::string mNewInventoryCapability; + + std::queue mUploadQ; + std::queue mConfirmedQ; + std::queue mInstanceQ; + + std::queue mTextureQ; + std::queue mConfirmedTextureQ; + + std::map, LLTextureUploadData> mTextureMap; + + LLMeshUploadThread(instance_list& data, LLVector3& scale, bool upload_textures); + ~LLMeshUploadThread(); + + void uploadTexture(LLTextureUploadData& data); + void doUploadTexture(LLTextureUploadData& data); + void sendCostRequest(LLTextureUploadData& data); + void priceResult(LLTextureUploadData& data, const LLSD& content); + void onTextureUploaded(LLTextureUploadData& data); + + void uploadModel(LLMeshUploadData& data); + void sendCostRequest(LLMeshUploadData& data); + void doUploadModel(LLMeshUploadData& data); + void onModelUploaded(LLMeshUploadData& data); + void createObjects(LLMeshUploadData& data); + LLSD createObject(LLModelInstance& instance); + void priceResult(LLMeshUploadData& data, const LLSD& content); + + bool finished() { return mFinished; } + virtual void run(); + +}; + +class LLMeshRepository +{ +public: + + //metrics + static U32 sBytesReceived; + static U32 sHTTPRequestCount; + static U32 sHTTPRetryCount; + static U32 sCacheBytesRead; + static U32 sCacheBytesWritten; + static U32 sPeakKbps; + + + LLMeshRepository(); + + void init(); + void shutdown(); + + //mesh management functions + S32 loadMesh(LLVOVolume* volume, const LLVolumeParams& mesh_params, S32 detail = 0); + + void notifyLoadedMeshes(); + void notifyMeshLoaded(const LLVolumeParams& mesh_params, LLVolume* volume); + void notifyMeshUnavailable(const LLVolumeParams& mesh_params, S32 lod); + void notifySkinInfoReceived(LLMeshSkinInfo& info); + void notifyDecompositionReceived(LLMeshDecomposition* info); + + S32 getActualMeshLOD(const LLVolumeParams& mesh_params, S32 lod); + U32 calcResourceCost(LLSD& header); + U32 getResourceCost(const LLUUID& mesh_params); + const LLMeshSkinInfo* getSkinInfo(const LLUUID& mesh_id); + const LLMeshDecomposition* getDecomposition(const LLUUID& mesh_id); + + void uploadModel(std::vector& data, LLVector3& scale, bool upload_textures); + + + + + typedef std::map > mesh_load_map; + mesh_load_map mLoadingMeshes[4]; + + typedef std::map skin_map; + skin_map mSkinMap; + + typedef std::map decomposition_map; + decomposition_map mDecompositionMap; + + LLMutex* mMeshMutex; + + std::vector mPendingRequests; + + //list of mesh ids awaiting skin info + std::set mLoadingSkins; + + //list of mesh ids that need to send skin info fetch requests + std::queue mPendingSkinRequests; + + //list of mesh ids awaiting decompositions + std::set mLoadingDecompositions; + + //list of mesh ids that need to send decomposition fetch requests + std::queue mPendingDecompositionRequests; + + U32 mMeshThreadCount; + + void cacheOutgoingMesh(LLMeshUploadData& data, LLSD& header); + + LLMeshRepoThread* mThread; + std::vector mUploads; + + LLPhysicsDecomp* mDecompThread; + + class inventory_data + { + public: + LLSD mPostData; + LLSD mResponse; + + inventory_data(const LLSD& data, const LLSD& content) + : mPostData(data), mResponse(content) + { + } + }; + + std::queue mInventoryQ; + + std::queue mUploadErrorQ; + + void uploadError(LLSD& args); + void updateInventory(inventory_data data); + +}; + +extern LLMeshRepository gMeshRepo; + +#endif + +#endif + -- cgit v1.3 From 054e8fbde325c03bc8f9a7c10aa8bb9319d501ba Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Thu, 26 Aug 2010 16:52:32 -0400 Subject: buildfix: fixing linux build to handle new SSE2 architecture code reviewed by davep and falcon --- indra/cmake/00-Common.cmake | 6 ++---- indra/llmath/lloctree.h | 2 +- indra/llmath/llvector4a.h | 3 ++- indra/llmath/tests/llquaternion_test.cpp | 2 +- indra/llmath/tests/v3dmath_test.cpp | 2 +- indra/llmath/tests/v3math_test.cpp | 4 ++-- indra/llmath/tests/v4math_test.cpp | 2 +- indra/newview/llfloatermodelpreview.cpp | 8 ++++---- 8 files changed, 14 insertions(+), 15 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 8262462ced..20573c9495 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -144,6 +144,8 @@ if (LINUX) -fno-strict-aliasing -fsigned-char -g + -msse2 + -mfpmath=sse -pthread ) @@ -163,10 +165,6 @@ if (LINUX) link_directories(/usr/lib/mysql4/mysql) endif (EXISTS /usr/lib/mysql4/mysql) - add_definitions( - -msse2 - -mfpmath=sse - ) endif (SERVER) if (VIEWER) diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h index 432e9fbcd8..73910ef98d 100644 --- a/indra/llmath/lloctree.h +++ b/indra/llmath/lloctree.h @@ -206,7 +206,7 @@ public: { const LLVector4a& pos = data->getPositionGroup(); - LLVector4a gt = pos.greaterThan(center); + LLVector4Logical gt = pos.greaterThan(center); LLVector4a up; up = _mm_and_ps(size, gt); diff --git a/indra/llmath/llvector4a.h b/indra/llmath/llvector4a.h index 76a3e999ce..a80e9b49dd 100644 --- a/indra/llmath/llvector4a.h +++ b/indra/llmath/llvector4a.h @@ -153,7 +153,6 @@ public: // Prefer this method for read-only access to a single element. Prefer the templated version if the elem is known at compile time. template LL_FORCE_INLINE LLSimdScalar getScalarAt() const; - template <> LL_FORCE_INLINE LLSimdScalar getScalarAt<0>() const; // Set to an x, y, z and optional w provided inline void set(F32 x, F32 y, F32 z, F32 w = 0.f); @@ -322,6 +321,8 @@ private: LLQuad mQ; }; +template <> LL_FORCE_INLINE LLSimdScalar LLVector4a::getScalarAt<0>() const; + inline void update_min_max(LLVector4a& min, LLVector4a& max, const LLVector4a& p) { min.setMin(min, p); diff --git a/indra/llmath/tests/llquaternion_test.cpp b/indra/llmath/tests/llquaternion_test.cpp index 2d27d1eb32..451b0ecc60 100644 --- a/indra/llmath/tests/llquaternion_test.cpp +++ b/indra/llmath/tests/llquaternion_test.cpp @@ -35,12 +35,12 @@ #include "linden_common.h" #include "../test/lltut.h" -#include "../llquaternion.h" #include "../v4math.h" #include "../v3math.h" #include "../v3dmath.h" #include "../m4math.h" #include "../m3math.h" +#include "../llquaternion.h" namespace tut { diff --git a/indra/llmath/tests/v3dmath_test.cpp b/indra/llmath/tests/v3dmath_test.cpp index 894b6200f5..734b8f8b80 100644 --- a/indra/llmath/tests/v3dmath_test.cpp +++ b/indra/llmath/tests/v3dmath_test.cpp @@ -36,11 +36,11 @@ #include "llsd.h" #include "../test/lltut.h" -#include "../llquaternion.h" #include "../m3math.h" #include "../v4math.h" #include "../v3dmath.h" #include "../v3dmath.h" +#include "../llquaternion.h" namespace tut { diff --git a/indra/llmath/tests/v3math_test.cpp b/indra/llmath/tests/v3math_test.cpp index d5c8dd2f9c..e6354c2b86 100644 --- a/indra/llmath/tests/v3math_test.cpp +++ b/indra/llmath/tests/v3math_test.cpp @@ -36,12 +36,12 @@ #include "../test/lltut.h" #include "llsd.h" -#include "../llquaternion.h" -#include "../llquantize.h" #include "../v3dmath.h" #include "../m3math.h" #include "../v4math.h" #include "../v3math.h" +#include "../llquaternion.h" +#include "../llquantize.h" namespace tut diff --git a/indra/llmath/tests/v4math_test.cpp b/indra/llmath/tests/v4math_test.cpp index e919c90efa..61fc108488 100644 --- a/indra/llmath/tests/v4math_test.cpp +++ b/indra/llmath/tests/v4math_test.cpp @@ -36,9 +36,9 @@ #include "../test/lltut.h" #include "llsd.h" -#include "../llquaternion.h" #include "../m4math.h" #include "../v4math.h" +#include "../llquaternion.h" namespace tut { diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 5dd983d818..91dfb9fc1c 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -2656,8 +2656,8 @@ void LLModelPreview::updateStatusMessages() const F32 ratio = 0.5f; const S32 required_verts = 128; - F32 scaler = powf(0.5f, lod_high-lod); - S32 max_verts = verts[lod_high][i]*scaler; + F32 scaler = powf(ratio, lod_high-lod); + S32 max_verts = (S32)(verts[lod_high][i]*scaler); if (max_verts > required_verts) { //some model in this slot might have more than 128 vertices @@ -2691,8 +2691,8 @@ void LLModelPreview::updateStatusMessages() { const F32 ratio = 0.5f; - F32 scaler = powf(0.5f, lod_high-lod); - S32 max_verts = verts[lod_high][i]*scaler; + F32 scaler = powf(ratio, lod_high-lod); + S32 max_verts = (S32)(verts[lod_high][i]*scaler); if (verts[lod][i] > max_verts) { -- cgit v1.3 From e763cb13b7e901eba0d5a8d6671222c31f6fd632 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Thu, 26 Aug 2010 18:35:42 -0500 Subject: Disable edit-and-continue (makes breakpoints not work on occasion). --- indra/cmake/00-Common.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 8262462ced..d13fbb14d9 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -35,10 +35,10 @@ if (WINDOWS) # Don't build DLLs. set(BUILD_SHARED_LIBS OFF) - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /ZI /MDd /MP" + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP" CACHE STRING "C++ compiler debug options" FORCE) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /ZI /MD /MP" + "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP" CACHE STRING "C++ compiler release-with-debug options" FORCE) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP" -- cgit v1.3 From 13180604e5752b8b5a98e049bc55028d68e71147 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Wed, 8 Sep 2010 11:30:50 -0400 Subject: SNOW-606 FIX disable packaging of libuuid Patch taken from JIRA, committing locally to fix our project branch. Code reviewed by Nyx / Brad --- indra/cmake/APR.cmake | 2 +- indra/cmake/Copy3rdPartyLibs.cmake | 1 - indra/cmake/ViewerMiscLibs.cmake | 1 - indra/newview/viewer_manifest.py | 1 - install.xml | 19 ------------------- 5 files changed, 1 insertion(+), 23 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index 180504d286..b6f1e06edd 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -56,7 +56,7 @@ else (STANDALONE) if (LINUX) if (VIEWER) - list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid) + list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES}) endif (VIEWER) list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} rt) endif (LINUX) diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 9900a8fb45..428b151c11 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -236,7 +236,6 @@ elseif(LINUX) libssl.so libstacktrace.so libtcmalloc.so - libuuid.so.1 libssl.so.0.9.7 ) diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 32c4bc81df..5710360de2 100644 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -2,7 +2,6 @@ include(Prebuilt) if (NOT STANDALONE) - use_prebuilt_binary(libuuid) use_prebuilt_binary(vivox) use_prebuilt_binary(fontconfig) endif(NOT STANDALONE) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 49299e56f7..852d11eb7e 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -929,7 +929,6 @@ class Linux_i686Manifest(LinuxManifest): self.path("libcrypto.so.0.9.7") self.path("libexpat.so.1") self.path("libssl.so.0.9.7") - self.path("libuuid.so.1") self.path("libSDL-1.2.so.0") self.path("libELFIO.so") self.path("libopenjpeg.so.1.3.0", "libopenjpeg.so.1.3") diff --git a/install.xml b/install.xml index ac4b7a0457..33ec3351f2 100644 --- a/install.xml +++ b/install.xml @@ -957,25 +957,6 @@ anguage Infrstructure (CLI) international standard - libuuid - - copyright - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - description - Generates UUIDs under Linux. Originally a part of the ext2fs filesystem. Also see lluuid.cpp for all platforms. Part of the e2fsprogs package. - license - lgpl - packages - - linux - - md5sum - 91b194aed4b38bc23493b198009a8c6a - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libuuid-linux-20090417.tar.bz2 - - - libxml license -- cgit v1.3 From 5213c90637390af255ede8e71ea0b87cdf35b27d Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Thu, 9 Sep 2010 16:57:05 -0500 Subject: Enable minimal rebuild and incremental linking for RelWithDebInfo builds. --- indra/cmake/00-Common.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 893e485d1a..beb4f181b5 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -38,7 +38,7 @@ if (WINDOWS) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP" CACHE STRING "C++ compiler debug options" FORCE) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP" + "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP /Gm /INCREMENTAL" CACHE STRING "C++ compiler release-with-debug options" FORCE) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP" -- cgit v1.3 From b04d761a9c64da5a9fadd6accba1d91dcdbc2dd5 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Tue, 14 Sep 2010 11:11:18 -0400 Subject: CTS-231 WIP update mac and linux autobuild libraries for glod and convex decomp Updating cmake to ensure that linux uses the non-stub version of convex decomp. Code reviewed by Falcon --- indra/cmake/LLConvexDecomposition.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/LLConvexDecomposition.cmake b/indra/cmake/LLConvexDecomposition.cmake index ae9dc3c17a..f310a493fd 100644 --- a/indra/cmake/LLConvexDecomposition.cmake +++ b/indra/cmake/LLConvexDecomposition.cmake @@ -5,11 +5,11 @@ set(LLCONVEXDECOMP_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) if (INSTALL_PROPRIETARY AND NOT STANDALONE) use_prebuilt_binary(llconvexdecomposition) - if (WINDOWS) + if (WINDOWS OR LINUX) set(LLCONVEXDECOMP_LIBRARY llconvexdecomposition) - else (WINDOWS) + else (WINDOWS OR LINUX) set(LLCONVEXDECOMP_LIBRARY llconvexdecompositionstub) - endif (WINDOWS) + endif (WINDOWS OR LINUX) else (INSTALL_PROPRIETARY AND NOT STANDALONE) use_prebuilt_binary(llconvexdecompositionstub) set(LLCONVEXDECOMP_LIBRARY llconvexdecompositionstub) -- cgit v1.3 From bee60281847e0d073554b0cd31a080ecad3aa5d1 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Thu, 16 Sep 2010 14:54:23 -0400 Subject: SNOW-606 REVERT libuuid removal backing out patch from SNOW-606 as it breaks the build on our linux build machines. Can be re-applied when our build machines get an updated version of libuuid. --- indra/cmake/APR.cmake | 2 +- indra/cmake/Copy3rdPartyLibs.cmake | 1 + indra/cmake/ViewerMiscLibs.cmake | 1 + indra/newview/viewer_manifest.py | 1 + install.xml | 19 +++++++++++++++++++ 5 files changed, 23 insertions(+), 1 deletion(-) (limited to 'indra/cmake') diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index b6f1e06edd..180504d286 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -56,7 +56,7 @@ else (STANDALONE) if (LINUX) if (VIEWER) - list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES}) + list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid) endif (VIEWER) list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} rt) endif (LINUX) diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 428b151c11..9900a8fb45 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -236,6 +236,7 @@ elseif(LINUX) libssl.so libstacktrace.so libtcmalloc.so + libuuid.so.1 libssl.so.0.9.7 ) diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 5710360de2..32c4bc81df 100644 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -2,6 +2,7 @@ include(Prebuilt) if (NOT STANDALONE) + use_prebuilt_binary(libuuid) use_prebuilt_binary(vivox) use_prebuilt_binary(fontconfig) endif(NOT STANDALONE) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 2da5aff8d6..8296c28e80 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -930,6 +930,7 @@ class Linux_i686Manifest(LinuxManifest): self.path("libexpat.so.1") self.path("libglod.so") self.path("libssl.so.0.9.7") + self.path("libuuid.so.1") self.path("libSDL-1.2.so.0") self.path("libELFIO.so") self.path("libopenjpeg.so.1.3.0", "libopenjpeg.so.1.3") diff --git a/install.xml b/install.xml index fd596b048d..060528f0ce 100644 --- a/install.xml +++ b/install.xml @@ -957,6 +957,25 @@ anguage Infrstructure (CLI) international standard + libuuid + + copyright + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + description + Generates UUIDs under Linux. Originally a part of the ext2fs filesystem. Also see lluuid.cpp for all platforms. Part of the e2fsprogs package. + license + lgpl + packages + + linux + + md5sum + 91b194aed4b38bc23493b198009a8c6a + url + http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libuuid-linux-20090417.tar.bz2 + + + libxml license -- cgit v1.3 From e18e26e87c46806f75d219b21be8b6ff2228fc99 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Sun, 19 Sep 2010 23:07:56 -0500 Subject: Use tcmalloc for windows (gives auto-magical 16-byte alignment whenever needed, much faster than Visual C++ malloc). --- indra/cmake/00-Common.cmake | 2 +- indra/cmake/GooglePerfTools.cmake | 5 ++--- indra/newview/CMakeLists.txt | 6 ++---- install.xml | 8 ++++---- 4 files changed, 9 insertions(+), 12 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index beb4f181b5..8b0864a539 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -38,7 +38,7 @@ if (WINDOWS) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP" CACHE STRING "C++ compiler debug options" FORCE) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO - "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP /Gm /INCREMENTAL" + "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP /Gm" CACHE STRING "C++ compiler release-with-debug options" FORCE) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP" diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index 946fc6b375..ee231dcde6 100644 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -6,7 +6,7 @@ if (STANDALONE) else (STANDALONE) use_prebuilt_binary(google) if (WINDOWS) - use_prebuilt_binary(google-perftools) + use_prebuilt_binary(tcmalloc) set(TCMALLOC_LIBRARIES debug libtcmalloc_minimal-debug optimized libtcmalloc_minimal) @@ -29,8 +29,7 @@ if (GOOGLE_PERFTOOLS_FOUND) endif (GOOGLE_PERFTOOLS_FOUND) if (WINDOWS) - # *TODO -reenable this once we get server usage sorted out - #set(USE_GOOGLE_PERFTOOLS ON) + set(USE_GOOGLE_PERFTOOLS ON) endif (WINDOWS) if (USE_GOOGLE_PERFTOOLS) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 73f752b218..0f2d461511 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1422,9 +1422,7 @@ if (WINDOWS) set_target_properties(${VIEWER_BINARY_NAME} PROPERTIES - # *TODO -reenable this once we get server usage sorted out - #LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:\"__tcmalloc\"" - LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS" + LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc" LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO" LINK_FLAGS_RELEASE ${release_flags} ) @@ -1640,6 +1638,7 @@ if (WINDOWS) endif (WINDOWS) target_link_libraries(${VIEWER_BINARY_NAME} + ${GOOGLE_PERFTOOLS_LIBRARIES} ${LLAUDIO_LIBRARIES} ${LLCHARACTER_LIBRARIES} ${LLIMAGE_LIBRARIES} @@ -1676,7 +1675,6 @@ target_link_libraries(${VIEWER_BINARY_NAME} ${OPENSSL_LIBRARIES} ${CRYPTO_LIBRARIES} ${LLLOGIN_LIBRARIES} - ${GOOGLE_PERFTOOLS_LIBRARIES} ${LLCONVEXDECOMP_LIBRARY} ) diff --git a/install.xml b/install.xml index 213f0ba2d2..48db054699 100644 --- a/install.xml +++ b/install.xml @@ -630,12 +630,12 @@ - google-perftools + tcmalloc copyright Copyright (c) 2005, Google Inc. description - Heap performance and validity checking tools from google. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler. + High performance memory allocator. license bsd packages @@ -643,9 +643,9 @@ windows md5sum - 32dba32ddd460a08e082898ebba6315c + 8b11a7d3caee8a4ba70da41d6a5ee131 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/google-perftools-1.0-windows-20090406.tar.bz2 + http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/tcmalloc-1.6-windows-20100916b.tar.bz2 -- cgit v1.3 From 90e3d83a5cb35e98a02a3017dd79ebc272bbfe85 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Tue, 21 Sep 2010 13:26:52 -0400 Subject: Fix for build failures - disabling tcmalloc for now --- .hgignore | 0 .hgtags | 0 BuildParams | 0 build.sh | 0 doc/FLOSS-exception.txt | 0 doc/GPL-license.txt | 0 doc/LICENSE-logos.txt | 0 doc/LICENSE-source.txt | 0 doc/contributions.txt | 0 doc/releasenotes-where.txt | 0 etc/message.xml | 0 indra/CMakeLists.txt | 0 indra/cmake/00-Common.cmake | 0 indra/cmake/APR.cmake | 0 indra/cmake/Audio.cmake | 0 indra/cmake/BerkeleyDB.cmake | 0 indra/cmake/Boost.cmake | 0 indra/cmake/BuildVersion.cmake | 0 indra/cmake/CARes.cmake | 0 indra/cmake/CMakeCopyIfDifferent.cmake | 0 indra/cmake/CMakeLists.txt | 0 indra/cmake/CSharpMacros.cmake | 0 indra/cmake/CURL.cmake | 0 indra/cmake/Copy3rdPartyLibs.cmake | 0 indra/cmake/CopyBackToSource.cmake | 0 indra/cmake/DBusGlib.cmake | 0 indra/cmake/DeploySharedLibs.cmake | 0 indra/cmake/DirectX.cmake | 0 indra/cmake/DragDrop.cmake | 0 indra/cmake/ELFIO.cmake | 0 indra/cmake/EXPAT.cmake | 0 indra/cmake/ExamplePlugin.cmake | 0 indra/cmake/Externals.cmake | 0 indra/cmake/FMOD.cmake | 0 indra/cmake/FindAPR.cmake | 0 indra/cmake/FindBerkeleyDB.cmake | 0 indra/cmake/FindCARes.cmake | 0 indra/cmake/FindELFIO.cmake | 0 indra/cmake/FindGooglePerfTools.cmake | 0 indra/cmake/FindMT.cmake | 0 indra/cmake/FindMono.cmake | 0 indra/cmake/FindMySQL.cmake | 0 indra/cmake/FindOpenJPEG.cmake | 0 indra/cmake/FindSCP.cmake | 0 indra/cmake/FindSVN.cmake | 0 indra/cmake/FindXmlRpcEpi.cmake | 0 indra/cmake/FreeType.cmake | 0 indra/cmake/GLOD.cmake | 0 indra/cmake/GStreamer010Plugin.cmake | 0 indra/cmake/GetPrerequisites_2_8.cmake | 0 indra/cmake/Glui.cmake | 0 indra/cmake/Glut.cmake | 0 indra/cmake/GoogleBreakpad.cmake | 0 indra/cmake/GoogleMock.cmake | 0 indra/cmake/GooglePerfTools.cmake | 2 +- indra/cmake/JPEG.cmake | 0 indra/cmake/LLAddBuildTest.cmake | 0 indra/cmake/LLAudio.cmake | 0 indra/cmake/LLCharacter.cmake | 0 indra/cmake/LLCommon.cmake | 0 indra/cmake/LLConvexDecomposition.cmake | 0 indra/cmake/LLCrashLogger.cmake | 0 indra/cmake/LLDatabase.cmake | 0 indra/cmake/LLImage.cmake | 0 indra/cmake/LLImageJ2COJ.cmake | 0 indra/cmake/LLInventory.cmake | 0 indra/cmake/LLKDU.cmake | 0 indra/cmake/LLLogin.cmake | 0 indra/cmake/LLMath.cmake | 0 indra/cmake/LLMessage.cmake | 0 indra/cmake/LLPlugin.cmake | 0 indra/cmake/LLPrimitive.cmake | 0 indra/cmake/LLRender.cmake | 0 indra/cmake/LLScene.cmake | 0 indra/cmake/LLSharedLibs.cmake | 0 indra/cmake/LLTestCommand.cmake | 0 indra/cmake/LLUI.cmake | 0 indra/cmake/LLVFS.cmake | 0 indra/cmake/LLWindow.cmake | 0 indra/cmake/LLXML.cmake | 0 indra/cmake/LLXUIXML.cmake | 0 indra/cmake/LScript.cmake | 0 indra/cmake/Linking.cmake | 0 indra/cmake/MediaPluginBase.cmake | 0 indra/cmake/MonoDeps.cmake | 0 indra/cmake/MonoEmbed.cmake | 0 indra/cmake/MySQL.cmake | 0 indra/cmake/NDOF.cmake | 0 indra/cmake/OPENAL.cmake | 0 indra/cmake/OpenGL.cmake | 0 indra/cmake/OpenJPEG.cmake | 0 indra/cmake/OpenSSL.cmake | 0 indra/cmake/PNG.cmake | 0 indra/cmake/PluginAPI.cmake | 0 indra/cmake/Prebuilt.cmake | 0 indra/cmake/Pth.cmake | 0 indra/cmake/PulseAudio.cmake | 0 indra/cmake/Python.cmake | 0 indra/cmake/QuickTimePlugin.cmake | 0 indra/cmake/TemplateCheck.cmake | 0 indra/cmake/Tut.cmake | 0 indra/cmake/UI.cmake | 0 indra/cmake/UnixInstall.cmake | 0 indra/cmake/Variables.cmake | 0 indra/cmake/ViewerMiscLibs.cmake | 0 indra/cmake/WebKitLibPlugin.cmake | 0 indra/cmake/XmlRpcEpi.cmake | 0 indra/cmake/ZLIB.cmake | 0 indra/cmake/cmake_dummy.cpp | 0 indra/cmake/run_build_test.py | 0 indra/copy_win_scripts/CMakeLists.txt | 0 indra/copy_win_scripts/start-client.py | 0 indra/integration_tests/CMakeLists.txt | 0 indra/integration_tests/llui_libtest/CMakeLists.txt | 0 indra/integration_tests/llui_libtest/llui_libtest.cpp | 0 indra/integration_tests/llui_libtest/llui_libtest.h | 0 indra/integration_tests/llui_libtest/llwidgetreg.cpp | 0 indra/integration_tests/llui_libtest/llwidgetreg.h | 0 indra/lib/python/indra/__init__.py | 0 indra/lib/python/indra/base/__init__.py | 0 indra/lib/python/indra/base/cllsd_test.py | 0 indra/lib/python/indra/base/config.py | 0 indra/lib/python/indra/base/llsd.py | 0 indra/lib/python/indra/base/lluuid.py | 0 indra/lib/python/indra/base/metrics.py | 0 indra/lib/python/indra/ipc/__init__.py | 0 indra/lib/python/indra/ipc/compatibility.py | 0 indra/lib/python/indra/ipc/httputil.py | 0 indra/lib/python/indra/ipc/llmessage.py | 0 indra/lib/python/indra/ipc/llsdhttp.py | 0 indra/lib/python/indra/ipc/mysql_pool.py | 0 indra/lib/python/indra/ipc/russ.py | 0 indra/lib/python/indra/ipc/servicebuilder.py | 0 indra/lib/python/indra/ipc/siesta.py | 0 indra/lib/python/indra/ipc/siesta_test.py | 0 indra/lib/python/indra/ipc/tokenstream.py | 0 indra/lib/python/indra/ipc/webdav.py | 0 indra/lib/python/indra/ipc/xml_rpc.py | 0 indra/lib/python/indra/util/__init__.py | 0 indra/lib/python/indra/util/fastest_elementtree.py | 0 indra/lib/python/indra/util/helpformatter.py | 0 indra/lib/python/indra/util/iterators.py | 0 indra/lib/python/indra/util/llmanifest.py | 0 indra/lib/python/indra/util/llsubprocess.py | 0 indra/lib/python/indra/util/llversion.py | 0 indra/lib/python/indra/util/named_query.py | 0 indra/lib/python/indra/util/shutil2.py | 0 indra/lib/python/indra/util/term.py | 0 indra/lib/python/indra/util/test_win32_manifest.py | 0 indra/lib/python/uuid.py | 0 indra/linux_crash_logger/CMakeLists.txt | 0 indra/linux_crash_logger/linux_crash_logger.cpp | 0 indra/linux_crash_logger/llcrashloggerlinux.cpp | 0 indra/linux_crash_logger/llcrashloggerlinux.h | 0 indra/linux_updater/CMakeLists.txt | 0 indra/linux_updater/linux_updater.cpp | 0 indra/llaudio/CMakeLists.txt | 0 indra/llaudio/llaudiodecodemgr.cpp | 0 indra/llaudio/llaudiodecodemgr.h | 0 indra/llaudio/llaudioengine.cpp | 0 indra/llaudio/llaudioengine.h | 0 indra/llaudio/llaudioengine_fmod.cpp | 0 indra/llaudio/llaudioengine_fmod.h | 0 indra/llaudio/llaudioengine_openal.cpp | 0 indra/llaudio/llaudioengine_openal.h | 0 indra/llaudio/lllistener.cpp | 0 indra/llaudio/lllistener.h | 0 indra/llaudio/lllistener_ds3d.h | 0 indra/llaudio/lllistener_fmod.cpp | 0 indra/llaudio/lllistener_fmod.h | 0 indra/llaudio/lllistener_openal.cpp | 0 indra/llaudio/lllistener_openal.h | 0 indra/llaudio/llstreamingaudio.h | 0 indra/llaudio/llstreamingaudio_fmod.cpp | 0 indra/llaudio/llstreamingaudio_fmod.h | 0 indra/llaudio/llvorbisencode.cpp | 0 indra/llaudio/llvorbisencode.h | 0 indra/llaudio/llwindgen.h | 0 indra/llcharacter/CMakeLists.txt | 0 indra/llcharacter/llanimationstates.cpp | 0 indra/llcharacter/llanimationstates.h | 0 indra/llcharacter/llbvhconsts.h | 0 indra/llcharacter/llbvhloader.cpp | 0 indra/llcharacter/llbvhloader.h | 0 indra/llcharacter/llcharacter.cpp | 0 indra/llcharacter/llcharacter.h | 0 indra/llcharacter/lleditingmotion.cpp | 0 indra/llcharacter/lleditingmotion.h | 0 indra/llcharacter/llgesture.cpp | 0 indra/llcharacter/llgesture.h | 0 indra/llcharacter/llhandmotion.cpp | 0 indra/llcharacter/llhandmotion.h | 0 indra/llcharacter/llheadrotmotion.cpp | 0 indra/llcharacter/llheadrotmotion.h | 0 indra/llcharacter/lljoint.cpp | 0 indra/llcharacter/lljoint.h | 0 indra/llcharacter/lljointsolverrp3.cpp | 0 indra/llcharacter/lljointsolverrp3.h | 0 indra/llcharacter/lljointstate.h | 0 indra/llcharacter/llkeyframefallmotion.cpp | 0 indra/llcharacter/llkeyframefallmotion.h | 0 indra/llcharacter/llkeyframemotion.cpp | 0 indra/llcharacter/llkeyframemotion.h | 0 indra/llcharacter/llkeyframemotionparam.cpp | 0 indra/llcharacter/llkeyframemotionparam.h | 0 indra/llcharacter/llkeyframestandmotion.cpp | 0 indra/llcharacter/llkeyframestandmotion.h | 0 indra/llcharacter/llkeyframewalkmotion.cpp | 0 indra/llcharacter/llkeyframewalkmotion.h | 0 indra/llcharacter/llmotion.cpp | 0 indra/llcharacter/llmotion.h | 0 indra/llcharacter/llmotioncontroller.cpp | 0 indra/llcharacter/llmotioncontroller.h | 0 indra/llcharacter/llmultigesture.cpp | 0 indra/llcharacter/llmultigesture.h | 0 indra/llcharacter/llpose.cpp | 0 indra/llcharacter/llpose.h | 0 indra/llcharacter/llstatemachine.cpp | 0 indra/llcharacter/llstatemachine.h | 0 indra/llcharacter/lltargetingmotion.cpp | 0 indra/llcharacter/lltargetingmotion.h | 0 indra/llcharacter/llvisualparam.cpp | 0 indra/llcharacter/llvisualparam.h | 0 indra/llcharacter/tests/lljoint_test.cpp | 0 indra/llcommon/CMakeLists.txt | 0 indra/llcommon/bitpack.cpp | 0 indra/llcommon/bitpack.h | 0 indra/llcommon/ctype_workaround.h | 0 indra/llcommon/doublelinkedlist.h | 0 indra/llcommon/imageids.cpp | 0 indra/llcommon/imageids.h | 0 indra/llcommon/indra_constants.cpp | 0 indra/llcommon/indra_constants.h | 0 indra/llcommon/is_approx_equal_fraction.h | 0 indra/llcommon/linden_common.h | 0 indra/llcommon/linked_lists.h | 0 indra/llcommon/ll_template_cast.h | 0 indra/llcommon/llagentconstants.h | 0 indra/llcommon/llallocator.cpp | 0 indra/llcommon/llallocator.h | 0 indra/llcommon/llallocator_heap_profile.cpp | 0 indra/llcommon/llallocator_heap_profile.h | 0 indra/llcommon/llapp.cpp | 0 indra/llcommon/llapp.h | 0 indra/llcommon/llapr.cpp | 0 indra/llcommon/llapr.h | 0 indra/llcommon/llassettype.cpp | 0 indra/llcommon/llassettype.h | 0 indra/llcommon/llassoclist.h | 0 indra/llcommon/llavatarconstants.h | 0 indra/llcommon/llbase32.cpp | 0 indra/llcommon/llbase32.h | 0 indra/llcommon/llbase64.cpp | 0 indra/llcommon/llbase64.h | 0 indra/llcommon/llboost.h | 0 indra/llcommon/llchat.h | 0 indra/llcommon/llclickaction.h | 0 indra/llcommon/llcommon.cpp | 0 indra/llcommon/llcommon.h | 0 indra/llcommon/llcommonutils.cpp | 0 indra/llcommon/llcommonutils.h | 0 indra/llcommon/llcoros.cpp | 0 indra/llcommon/llcoros.h | 0 indra/llcommon/llcrc.cpp | 0 indra/llcommon/llcrc.h | 0 indra/llcommon/llcriticaldamp.cpp | 0 indra/llcommon/llcriticaldamp.h | 0 indra/llcommon/llcursortypes.cpp | 0 indra/llcommon/llcursortypes.h | 0 indra/llcommon/lldarray.h | 0 indra/llcommon/lldarrayptr.h | 0 indra/llcommon/lldate.cpp | 0 indra/llcommon/lldate.h | 0 indra/llcommon/lldefs.h | 0 indra/llcommon/lldeleteutils.h | 0 indra/llcommon/lldependencies.cpp | 0 indra/llcommon/lldependencies.h | 0 indra/llcommon/lldepthstack.h | 0 indra/llcommon/lldictionary.cpp | 0 indra/llcommon/lldictionary.h | 0 indra/llcommon/lldlinked.h | 0 indra/llcommon/lldoubledispatch.h | 0 indra/llcommon/lldqueueptr.h | 0 indra/llcommon/llendianswizzle.h | 0 indra/llcommon/llenum.h | 0 indra/llcommon/llerror.cpp | 0 indra/llcommon/llerror.h | 0 indra/llcommon/llerrorcontrol.h | 0 indra/llcommon/llerrorlegacy.h | 0 indra/llcommon/llerrorthread.cpp | 0 indra/llcommon/llerrorthread.h | 0 indra/llcommon/llevent.cpp | 0 indra/llcommon/llevent.h | 0 indra/llcommon/lleventapi.cpp | 0 indra/llcommon/lleventapi.h | 0 indra/llcommon/lleventcoro.cpp | 0 indra/llcommon/lleventcoro.h | 0 indra/llcommon/lleventdispatcher.cpp | 0 indra/llcommon/lleventdispatcher.h | 0 indra/llcommon/lleventemitter.h | 0 indra/llcommon/lleventfilter.cpp | 0 indra/llcommon/lleventfilter.h | 0 indra/llcommon/llevents.cpp | 0 indra/llcommon/llevents.h | 0 indra/llcommon/lleventtimer.cpp | 0 indra/llcommon/lleventtimer.h | 0 indra/llcommon/llextendedstatus.h | 0 indra/llcommon/llfasttimer.h | 0 indra/llcommon/llfasttimer_class.cpp | 0 indra/llcommon/llfasttimer_class.h | 0 indra/llcommon/llfile.cpp | 0 indra/llcommon/llfile.h | 0 indra/llcommon/llfindlocale.cpp | 0 indra/llcommon/llfindlocale.h | 0 indra/llcommon/llfixedbuffer.cpp | 0 indra/llcommon/llfixedbuffer.h | 0 indra/llcommon/llfoldertype.cpp | 0 indra/llcommon/llfoldertype.h | 0 indra/llcommon/llformat.cpp | 0 indra/llcommon/llformat.h | 0 indra/llcommon/llframetimer.cpp | 0 indra/llcommon/llframetimer.h | 0 indra/llcommon/llhash.h | 0 indra/llcommon/llheartbeat.cpp | 0 indra/llcommon/llheartbeat.h | 0 indra/llcommon/llhttpstatuscodes.h | 0 indra/llcommon/llindexedqueue.h | 0 indra/llcommon/llinstancetracker.cpp | 0 indra/llcommon/llinstancetracker.h | 0 indra/llcommon/llkeythrottle.h | 0 indra/llcommon/llkeyusetracker.h | 0 indra/llcommon/lllazy.cpp | 0 indra/llcommon/lllazy.h | 0 indra/llcommon/lllinkedqueue.h | 0 indra/llcommon/lllistenerwrapper.h | 0 indra/llcommon/llliveappconfig.cpp | 0 indra/llcommon/llliveappconfig.h | 0 indra/llcommon/lllivefile.cpp | 0 indra/llcommon/lllivefile.h | 0 indra/llcommon/lllocalidhashmap.h | 0 indra/llcommon/lllog.cpp | 0 indra/llcommon/lllog.h | 0 indra/llcommon/lllslconstants.h | 0 indra/llcommon/llmap.h | 0 indra/llcommon/llmd5.cpp | 0 indra/llcommon/llmd5.h | 0 indra/llcommon/llmemory.cpp | 0 indra/llcommon/llmemory.h | 0 indra/llcommon/llmemorystream.cpp | 0 indra/llcommon/llmemorystream.h | 0 indra/llcommon/llmemtype.cpp | 0 indra/llcommon/llmemtype.h | 0 indra/llcommon/llmetrics.cpp | 0 indra/llcommon/llmetrics.h | 0 indra/llcommon/llmortician.cpp | 0 indra/llcommon/llmortician.h | 0 indra/llcommon/llnametable.h | 0 indra/llcommon/lloptioninterface.cpp | 0 indra/llcommon/lloptioninterface.h | 0 indra/llcommon/llpointer.h | 0 indra/llcommon/llpreprocessor.h | 0 indra/llcommon/llpriqueuemap.h | 0 indra/llcommon/llprocesslauncher.cpp | 0 indra/llcommon/llprocesslauncher.h | 0 indra/llcommon/llprocessor.cpp | 0 indra/llcommon/llprocessor.h | 0 indra/llcommon/llptrskiplist.h | 0 indra/llcommon/llptrskipmap.h | 0 indra/llcommon/llptrto.cpp | 0 indra/llcommon/llptrto.h | 0 indra/llcommon/llqueuedthread.cpp | 0 indra/llcommon/llqueuedthread.h | 0 indra/llcommon/llrand.cpp | 0 indra/llcommon/llrand.h | 0 indra/llcommon/llrefcount.cpp | 0 indra/llcommon/llrefcount.h | 0 indra/llcommon/llrun.cpp | 0 indra/llcommon/llrun.h | 0 indra/llcommon/llsafehandle.h | 0 indra/llcommon/llsd.cpp | 0 indra/llcommon/llsd.h | 0 indra/llcommon/llsdserialize.cpp | 0 indra/llcommon/llsdserialize.h | 0 indra/llcommon/llsdserialize_xml.cpp | 0 indra/llcommon/llsdserialize_xml.h | 0 indra/llcommon/llsdutil.cpp | 0 indra/llcommon/llsdutil.h | 0 indra/llcommon/llsecondlifeurls.cpp | 0 indra/llcommon/llsecondlifeurls.h | 0 indra/llcommon/llsimplehash.h | 0 indra/llcommon/llsingleton.cpp | 0 indra/llcommon/llsingleton.h | 0 indra/llcommon/llskiplist.h | 0 indra/llcommon/llskipmap.h | 0 indra/llcommon/llsmoothstep.h | 0 indra/llcommon/llstack.h | 0 indra/llcommon/llstacktrace.cpp | 0 indra/llcommon/llstacktrace.h | 0 indra/llcommon/llstat.cpp | 0 indra/llcommon/llstat.h | 0 indra/llcommon/llstatenums.h | 0 indra/llcommon/llstl.h | 0 indra/llcommon/llstreamtools.cpp | 0 indra/llcommon/llstreamtools.h | 0 indra/llcommon/llstrider.h | 0 indra/llcommon/llstring.cpp | 0 indra/llcommon/llstring.h | 0 indra/llcommon/llstringtable.cpp | 0 indra/llcommon/llstringtable.h | 0 indra/llcommon/llsys.cpp | 0 indra/llcommon/llsys.h | 0 indra/llcommon/llthread.cpp | 0 indra/llcommon/llthread.h | 0 indra/llcommon/lltimer.cpp | 0 indra/llcommon/lltimer.h | 0 indra/llcommon/lltreeiterators.h | 0 indra/llcommon/lluri.cpp | 0 indra/llcommon/lluri.h | 0 indra/llcommon/lluuid.cpp | 0 indra/llcommon/lluuid.h | 0 indra/llcommon/lluuidhashmap.h | 0 indra/llcommon/llversionserver.h | 0 indra/llcommon/llversionviewer.h | 0 indra/llcommon/llworkerthread.cpp | 0 indra/llcommon/llworkerthread.h | 0 indra/llcommon/metaclass.cpp | 0 indra/llcommon/metaclass.h | 0 indra/llcommon/metaclasst.h | 0 indra/llcommon/metaproperty.cpp | 0 indra/llcommon/metaproperty.h | 0 indra/llcommon/metapropertyt.h | 0 indra/llcommon/reflective.cpp | 0 indra/llcommon/reflective.h | 0 indra/llcommon/reflectivet.h | 0 indra/llcommon/roles_constants.h | 0 indra/llcommon/stdenums.h | 0 indra/llcommon/stdtypes.h | 0 indra/llcommon/string_table.h | 0 indra/llcommon/stringize.h | 0 indra/llcommon/tests/bitpack_test.cpp | 0 indra/llcommon/tests/commonmisc_test.cpp | 0 indra/llcommon/tests/listener.h | 0 indra/llcommon/tests/llallocator_heap_profile_test.cpp | 0 indra/llcommon/tests/llallocator_test.cpp | 0 indra/llcommon/tests/llbase64_test.cpp | 0 indra/llcommon/tests/lldate_test.cpp | 0 indra/llcommon/tests/lldependencies_test.cpp | 0 indra/llcommon/tests/llerror_test.cpp | 0 indra/llcommon/tests/lleventcoro_test.cpp | 0 indra/llcommon/tests/lleventfilter_test.cpp | 0 indra/llcommon/tests/llframetimer_test.cpp | 0 indra/llcommon/tests/llinstancetracker_test.cpp | 0 indra/llcommon/tests/lllazy_test.cpp | 0 indra/llcommon/tests/llmemtype_test.cpp | 0 indra/llcommon/tests/llprocessor_test.cpp | 0 indra/llcommon/tests/llrand_test.cpp | 0 indra/llcommon/tests/llsdserialize_test.cpp | 0 indra/llcommon/tests/llstring_test.cpp | 0 indra/llcommon/tests/lltreeiterators_test.cpp | 0 indra/llcommon/tests/lluri_test.cpp | 0 indra/llcommon/tests/reflection_test.cpp | 0 indra/llcommon/tests/stringize_test.cpp | 0 indra/llcommon/tests/wrapllerrs.h | 0 indra/llcommon/timer.h | 0 indra/llcommon/timing.cpp | 0 indra/llcommon/timing.h | 0 indra/llcommon/u64.cpp | 0 indra/llcommon/u64.h | 0 indra/llcrashlogger/CMakeLists.txt | 0 indra/llcrashlogger/llcrashlogger.cpp | 0 indra/llcrashlogger/llcrashlogger.h | 0 indra/llimage/CMakeLists.txt | 0 indra/llimage/llimage.cpp | 0 indra/llimage/llimage.h | 0 indra/llimage/llimagebmp.cpp | 0 indra/llimage/llimagebmp.h | 0 indra/llimage/llimagedimensionsinfo.cpp | 0 indra/llimage/llimagedimensionsinfo.h | 0 indra/llimage/llimagedxt.cpp | 0 indra/llimage/llimagedxt.h | 0 indra/llimage/llimagej2c.cpp | 0 indra/llimage/llimagej2c.h | 0 indra/llimage/llimagejpeg.cpp | 0 indra/llimage/llimagejpeg.h | 0 indra/llimage/llimagepng.cpp | 0 indra/llimage/llimagepng.h | 0 indra/llimage/llimagetga.cpp | 0 indra/llimage/llimagetga.h | 0 indra/llimage/llimageworker.cpp | 0 indra/llimage/llimageworker.h | 0 indra/llimage/llmapimagetype.h | 0 indra/llimage/llpngwrapper.cpp | 0 indra/llimage/llpngwrapper.h | 0 indra/llimage/tests/llimageworker_test.cpp | 0 indra/llimagej2coj/CMakeLists.txt | 0 indra/llimagej2coj/llimagej2coj.cpp | 0 indra/llimagej2coj/llimagej2coj.h | 0 indra/llinventory/CMakeLists.txt | 0 indra/llinventory/llcategory.cpp | 0 indra/llinventory/llcategory.h | 0 indra/llinventory/lleconomy.cpp | 0 indra/llinventory/lleconomy.h | 0 indra/llinventory/llinventory.cpp | 0 indra/llinventory/llinventory.h | 0 indra/llinventory/llinventorydefines.cpp | 0 indra/llinventory/llinventorydefines.h | 0 indra/llinventory/llinventorytype.cpp | 0 indra/llinventory/llinventorytype.h | 0 indra/llinventory/lllandmark.cpp | 0 indra/llinventory/lllandmark.h | 0 indra/llinventory/llnotecard.cpp | 0 indra/llinventory/llnotecard.h | 0 indra/llinventory/llparcel.cpp | 0 indra/llinventory/llparcel.h | 0 indra/llinventory/llparcelflags.h | 0 indra/llinventory/llpermissions.cpp | 0 indra/llinventory/llpermissions.h | 0 indra/llinventory/llpermissionsflags.h | 0 indra/llinventory/llsaleinfo.cpp | 0 indra/llinventory/llsaleinfo.h | 0 indra/llinventory/lltransactionflags.cpp | 0 indra/llinventory/lltransactionflags.h | 0 indra/llinventory/lltransactiontypes.h | 0 indra/llinventory/lluserrelations.cpp | 0 indra/llinventory/lluserrelations.h | 0 indra/llinventory/tests/inventorymisc_test.cpp | 0 indra/llinventory/tests/llparcel_test.cpp | 0 indra/llmath/CMakeLists.txt | 0 indra/llmath/camera.h | 0 indra/llmath/coordframe.h | 0 indra/llmath/llbbox.cpp | 0 indra/llmath/llbbox.h | 0 indra/llmath/llbboxlocal.cpp | 0 indra/llmath/llbboxlocal.h | 0 indra/llmath/llcamera.cpp | 0 indra/llmath/llcamera.h | 0 indra/llmath/llcoord.h | 0 indra/llmath/llcoordframe.cpp | 0 indra/llmath/llcoordframe.h | 0 indra/llmath/llinterp.h | 0 indra/llmath/llline.cpp | 0 indra/llmath/llline.h | 0 indra/llmath/llmath.h | 0 indra/llmath/llmatrix3a.cpp | 0 indra/llmath/llmatrix3a.h | 0 indra/llmath/llmatrix3a.inl | 0 indra/llmath/llmatrix4a.h | 0 indra/llmath/llmodularmath.cpp | 0 indra/llmath/llmodularmath.h | 0 indra/llmath/lloctree.h | 0 indra/llmath/llperlin.cpp | 0 indra/llmath/llperlin.h | 0 indra/llmath/llplane.h | 0 indra/llmath/llquantize.h | 0 indra/llmath/llquaternion.cpp | 0 indra/llmath/llquaternion.h | 0 indra/llmath/llquaternion2.h | 0 indra/llmath/llquaternion2.inl | 0 indra/llmath/llrect.cpp | 0 indra/llmath/llrect.h | 0 indra/llmath/llsdutil_math.cpp | 0 indra/llmath/llsdutil_math.h | 0 indra/llmath/llsimdmath.h | 0 indra/llmath/llsimdtypes.h | 0 indra/llmath/llsimdtypes.inl | 0 indra/llmath/llsphere.cpp | 0 indra/llmath/llsphere.h | 0 indra/llmath/lltreenode.h | 0 indra/llmath/llv4math.h | 0 indra/llmath/llv4matrix3.h | 0 indra/llmath/llv4matrix4.h | 0 indra/llmath/llv4vector3.h | 0 indra/llmath/llvector4a.cpp | 0 indra/llmath/llvector4a.h | 0 indra/llmath/llvector4a.inl | 0 indra/llmath/llvector4logical.h | 0 indra/llmath/llvolume.cpp | 0 indra/llmath/llvolume.h | 0 indra/llmath/llvolumemgr.cpp | 0 indra/llmath/llvolumemgr.h | 0 indra/llmath/llvolumeoctree.cpp | 0 indra/llmath/llvolumeoctree.h | 0 indra/llmath/m3math.cpp | 0 indra/llmath/m3math.h | 0 indra/llmath/m4math.cpp | 0 indra/llmath/m4math.h | 0 indra/llmath/raytrace.cpp | 0 indra/llmath/raytrace.h | 0 indra/llmath/tests/llbbox_test.cpp | 0 indra/llmath/tests/llbboxlocal_test.cpp | 0 indra/llmath/tests/llmodularmath_test.cpp | 0 indra/llmath/tests/llquaternion_test.cpp | 0 indra/llmath/tests/llrect_test.cpp | 0 indra/llmath/tests/m3math_test.cpp | 0 indra/llmath/tests/mathmisc_test.cpp | 0 indra/llmath/tests/v2math_test.cpp | 0 indra/llmath/tests/v3color_test.cpp | 0 indra/llmath/tests/v3dmath_test.cpp | 0 indra/llmath/tests/v3math_test.cpp | 0 indra/llmath/tests/v4color_test.cpp | 0 indra/llmath/tests/v4coloru_test.cpp | 0 indra/llmath/tests/v4math_test.cpp | 0 indra/llmath/tests/xform_test.cpp | 0 indra/llmath/v2math.cpp | 0 indra/llmath/v2math.h | 0 indra/llmath/v3color.cpp | 0 indra/llmath/v3color.h | 0 indra/llmath/v3dmath.cpp | 0 indra/llmath/v3dmath.h | 0 indra/llmath/v3math.cpp | 0 indra/llmath/v3math.h | 0 indra/llmath/v4color.cpp | 0 indra/llmath/v4color.h | 0 indra/llmath/v4coloru.cpp | 0 indra/llmath/v4coloru.h | 0 indra/llmath/v4math.cpp | 0 indra/llmath/v4math.h | 0 indra/llmath/xform.cpp | 0 indra/llmath/xform.h | 0 indra/llmessage/CMakeLists.txt | 0 indra/llmessage/llares.cpp | 0 indra/llmessage/llares.h | 0 indra/llmessage/llareslistener.cpp | 0 indra/llmessage/llareslistener.h | 0 indra/llmessage/llassetstorage.cpp | 0 indra/llmessage/llassetstorage.h | 0 indra/llmessage/llblowfishcipher.cpp | 0 indra/llmessage/llblowfishcipher.h | 0 indra/llmessage/llbuffer.cpp | 0 indra/llmessage/llbuffer.h | 0 indra/llmessage/llbufferstream.cpp | 0 indra/llmessage/llbufferstream.h | 0 indra/llmessage/llcachename.cpp | 0 indra/llmessage/llcachename.h | 0 indra/llmessage/llchainio.cpp | 0 indra/llmessage/llchainio.h | 0 indra/llmessage/llcipher.h | 0 indra/llmessage/llcircuit.cpp | 0 indra/llmessage/llcircuit.h | 0 indra/llmessage/llclassifiedflags.cpp | 0 indra/llmessage/llclassifiedflags.h | 0 indra/llmessage/llcurl.cpp | 0 indra/llmessage/llcurl.h | 0 indra/llmessage/lldatapacker.cpp | 0 indra/llmessage/lldatapacker.h | 0 indra/llmessage/lldbstrings.h | 0 indra/llmessage/lldispatcher.cpp | 0 indra/llmessage/lldispatcher.h | 0 indra/llmessage/lleventflags.h | 0 indra/llmessage/llfiltersd2xmlrpc.cpp | 0 indra/llmessage/llfiltersd2xmlrpc.h | 0 indra/llmessage/llfollowcamparams.h | 0 indra/llmessage/llhost.cpp | 0 indra/llmessage/llhost.h | 0 indra/llmessage/llhttpassetstorage.cpp | 0 indra/llmessage/llhttpassetstorage.h | 0 indra/llmessage/llhttpclient.cpp | 0 indra/llmessage/llhttpclient.h | 0 indra/llmessage/llhttpclientadapter.cpp | 0 indra/llmessage/llhttpclientadapter.h | 0 indra/llmessage/llhttpclientinterface.h | 0 indra/llmessage/llhttpnode.cpp | 0 indra/llmessage/llhttpnode.h | 0 indra/llmessage/llhttpnodeadapter.h | 0 indra/llmessage/llhttpsender.cpp | 0 indra/llmessage/llhttpsender.h | 0 indra/llmessage/llinstantmessage.cpp | 0 indra/llmessage/llinstantmessage.h | 0 indra/llmessage/llinvite.h | 0 indra/llmessage/lliobuffer.cpp | 0 indra/llmessage/lliobuffer.h | 0 indra/llmessage/lliohttpserver.cpp | 0 indra/llmessage/lliohttpserver.h | 0 indra/llmessage/lliopipe.cpp | 0 indra/llmessage/lliopipe.h | 0 indra/llmessage/lliosocket.cpp | 0 indra/llmessage/lliosocket.h | 0 indra/llmessage/llioutil.cpp | 0 indra/llmessage/llioutil.h | 0 indra/llmessage/llloginflags.h | 0 indra/llmessage/llmail.cpp | 0 indra/llmessage/llmail.h | 0 indra/llmessage/llmessagebuilder.cpp | 0 indra/llmessage/llmessagebuilder.h | 0 indra/llmessage/llmessageconfig.cpp | 0 indra/llmessage/llmessageconfig.h | 0 indra/llmessage/llmessagereader.cpp | 0 indra/llmessage/llmessagereader.h | 0 indra/llmessage/llmessagesenderinterface.h | 0 indra/llmessage/llmessagetemplate.cpp | 0 indra/llmessage/llmessagetemplate.h | 0 indra/llmessage/llmessagetemplateparser.cpp | 0 indra/llmessage/llmessagetemplateparser.h | 0 indra/llmessage/llmessagethrottle.cpp | 0 indra/llmessage/llmessagethrottle.h | 0 indra/llmessage/llmime.cpp | 0 indra/llmessage/llmime.h | 0 indra/llmessage/llmsgvariabletype.h | 0 indra/llmessage/llnamevalue.cpp | 0 indra/llmessage/llnamevalue.h | 0 indra/llmessage/llnullcipher.cpp | 0 indra/llmessage/llnullcipher.h | 0 indra/llmessage/llpacketack.cpp | 0 indra/llmessage/llpacketack.h | 0 indra/llmessage/llpacketbuffer.cpp | 0 indra/llmessage/llpacketbuffer.h | 0 indra/llmessage/llpacketring.cpp | 0 indra/llmessage/llpacketring.h | 0 indra/llmessage/llpartdata.cpp | 0 indra/llmessage/llpartdata.h | 0 indra/llmessage/llpumpio.cpp | 0 indra/llmessage/llpumpio.h | 0 indra/llmessage/llqueryflags.h | 0 indra/llmessage/llregionflags.h | 0 indra/llmessage/llregionhandle.h | 0 indra/llmessage/llregionpresenceverifier.cpp | 0 indra/llmessage/llregionpresenceverifier.h | 0 indra/llmessage/llsdappservices.cpp | 0 indra/llmessage/llsdappservices.h | 0 indra/llmessage/llsdhttpserver.cpp | 0 indra/llmessage/llsdhttpserver.h | 0 indra/llmessage/llsdmessage.cpp | 0 indra/llmessage/llsdmessage.h | 0 indra/llmessage/llsdmessagebuilder.cpp | 0 indra/llmessage/llsdmessagebuilder.h | 0 indra/llmessage/llsdmessagereader.cpp | 0 indra/llmessage/llsdmessagereader.h | 0 indra/llmessage/llsdrpcclient.cpp | 0 indra/llmessage/llsdrpcclient.h | 0 indra/llmessage/llsdrpcserver.cpp | 0 indra/llmessage/llsdrpcserver.h | 0 indra/llmessage/llservice.cpp | 0 indra/llmessage/llservice.h | 0 indra/llmessage/llservicebuilder.cpp | 0 indra/llmessage/llservicebuilder.h | 0 indra/llmessage/llstoredmessage.cpp | 0 indra/llmessage/llstoredmessage.h | 0 indra/llmessage/lltaskname.h | 0 indra/llmessage/llteleportflags.h | 0 indra/llmessage/lltemplatemessagebuilder.cpp | 0 indra/llmessage/lltemplatemessagebuilder.h | 0 indra/llmessage/lltemplatemessagedispatcher.cpp | 0 indra/llmessage/lltemplatemessagedispatcher.h | 0 indra/llmessage/lltemplatemessagereader.cpp | 0 indra/llmessage/lltemplatemessagereader.h | 0 indra/llmessage/llthrottle.cpp | 0 indra/llmessage/llthrottle.h | 0 indra/llmessage/lltransfermanager.cpp | 0 indra/llmessage/lltransfermanager.h | 0 indra/llmessage/lltransfersourceasset.cpp | 0 indra/llmessage/lltransfersourceasset.h | 0 indra/llmessage/lltransfersourcefile.cpp | 0 indra/llmessage/lltransfersourcefile.h | 0 indra/llmessage/lltransfertargetfile.cpp | 0 indra/llmessage/lltransfertargetfile.h | 0 indra/llmessage/lltransfertargetvfile.cpp | 0 indra/llmessage/lltransfertargetvfile.h | 0 indra/llmessage/lltrustedmessageservice.cpp | 0 indra/llmessage/lltrustedmessageservice.h | 0 indra/llmessage/llurlrequest.cpp | 0 indra/llmessage/llurlrequest.h | 0 indra/llmessage/lluseroperation.cpp | 0 indra/llmessage/lluseroperation.h | 0 indra/llmessage/llvehicleparams.h | 0 indra/llmessage/llxfer.cpp | 0 indra/llmessage/llxfer.h | 0 indra/llmessage/llxfer_file.cpp | 0 indra/llmessage/llxfer_file.h | 0 indra/llmessage/llxfer_mem.cpp | 0 indra/llmessage/llxfer_mem.h | 0 indra/llmessage/llxfer_vfile.cpp | 0 indra/llmessage/llxfer_vfile.h | 0 indra/llmessage/llxfermanager.cpp | 0 indra/llmessage/llxfermanager.h | 0 indra/llmessage/llxorcipher.cpp | 0 indra/llmessage/llxorcipher.h | 0 indra/llmessage/machine.cpp | 0 indra/llmessage/machine.h | 0 indra/llmessage/mean_collision_data.h | 0 indra/llmessage/message.cpp | 0 indra/llmessage/message.h | 0 indra/llmessage/message_prehash.cpp | 0 indra/llmessage/message_prehash.h | 0 indra/llmessage/message_string_table.cpp | 0 indra/llmessage/net.cpp | 0 indra/llmessage/net.h | 0 indra/llmessage/partsyspacket.cpp | 0 indra/llmessage/partsyspacket.h | 0 indra/llmessage/patch_code.cpp | 0 indra/llmessage/patch_code.h | 0 indra/llmessage/patch_dct.cpp | 0 indra/llmessage/patch_dct.h | 0 indra/llmessage/patch_idct.cpp | 0 indra/llmessage/sound_ids.cpp | 0 indra/llmessage/sound_ids.h | 0 indra/llmessage/tests/commtest.h | 0 indra/llmessage/tests/llareslistener_test.cpp | 0 indra/llmessage/tests/llcurl_stub.cpp | 0 indra/llmessage/tests/llhost_test.cpp | 0 indra/llmessage/tests/llhttpclientadapter_test.cpp | 0 indra/llmessage/tests/llmime_test.cpp | 0 indra/llmessage/tests/llmockhttpclient.h | 0 indra/llmessage/tests/llnamevalue_test.cpp | 0 indra/llmessage/tests/llpartdata_test.cpp | 0 indra/llmessage/tests/llregionpresenceverifier_test.cpp | 0 indra/llmessage/tests/llsdmessage_test.cpp | 0 indra/llmessage/tests/lltemplatemessagedispatcher_test.cpp | 0 indra/llmessage/tests/lltesthttpclientadapter.cpp | 0 indra/llmessage/tests/lltesthttpclientadapter.h | 0 indra/llmessage/tests/lltestmessagesender.cpp | 0 indra/llmessage/tests/lltestmessagesender.h | 0 indra/llmessage/tests/lltrustedmessageservice_test.cpp | 0 indra/llmessage/tests/llxfer_file_test.cpp | 0 indra/llmessage/tests/networkio.h | 0 indra/llmessage/tests/test_llsdmessage_peer.py | 0 indra/llmessage/tests/testrunner.py | 0 indra/llplugin/CMakeLists.txt | 0 indra/llplugin/llpluginclassmedia.cpp | 0 indra/llplugin/llpluginclassmedia.h | 0 indra/llplugin/llpluginclassmediaowner.h | 0 indra/llplugin/llplugincookiestore.cpp | 0 indra/llplugin/llplugincookiestore.h | 0 indra/llplugin/llplugininstance.cpp | 0 indra/llplugin/llplugininstance.h | 0 indra/llplugin/llpluginmessage.cpp | 0 indra/llplugin/llpluginmessage.h | 0 indra/llplugin/llpluginmessageclasses.h | 0 indra/llplugin/llpluginmessagepipe.cpp | 0 indra/llplugin/llpluginmessagepipe.h | 0 indra/llplugin/llpluginprocesschild.cpp | 0 indra/llplugin/llpluginprocesschild.h | 0 indra/llplugin/llpluginprocessparent.cpp | 0 indra/llplugin/llpluginprocessparent.h | 0 indra/llplugin/llpluginsharedmemory.cpp | 0 indra/llplugin/llpluginsharedmemory.h | 0 indra/llplugin/slplugin/CMakeLists.txt | 0 indra/llplugin/slplugin/slplugin-objc.h | 0 indra/llplugin/slplugin/slplugin-objc.mm | 0 indra/llplugin/slplugin/slplugin.cpp | 0 indra/llplugin/slplugin/slplugin_info.plist | 0 indra/llplugin/tests/llplugincookiestore_test.cpp | 0 indra/llprimitive/CMakeLists.txt | 0 indra/llprimitive/legacy_object_types.h | 0 indra/llprimitive/llmaterialtable.cpp | 0 indra/llprimitive/llmaterialtable.h | 0 indra/llprimitive/llmediaentry.cpp | 0 indra/llprimitive/llmediaentry.h | 0 indra/llprimitive/llmodel.cpp | 0 indra/llprimitive/llmodel.h | 0 indra/llprimitive/llprimitive.cpp | 0 indra/llprimitive/llprimitive.h | 0 indra/llprimitive/llprimlinkinfo.h | 0 indra/llprimitive/llprimtexturelist.cpp | 0 indra/llprimitive/llprimtexturelist.h | 0 indra/llprimitive/lltextureanim.cpp | 0 indra/llprimitive/lltextureanim.h | 0 indra/llprimitive/lltextureentry.cpp | 0 indra/llprimitive/lltextureentry.h | 0 indra/llprimitive/lltree_common.h | 0 indra/llprimitive/lltreeparams.cpp | 0 indra/llprimitive/lltreeparams.h | 0 indra/llprimitive/llvolumemessage.cpp | 0 indra/llprimitive/llvolumemessage.h | 0 indra/llprimitive/llvolumexml.cpp | 0 indra/llprimitive/llvolumexml.h | 0 indra/llprimitive/material_codes.cpp | 0 indra/llprimitive/material_codes.h | 0 indra/llprimitive/object_flags.h | 0 indra/llprimitive/tests/llmediaentry_test.cpp | 0 indra/llprimitive/tests/llmessagesystem_stub.cpp | 0 indra/llprimitive/tests/llprimitive_test.cpp | 0 indra/llrender/CMakeLists.txt | 0 indra/llrender/llcubemap.cpp | 0 indra/llrender/llcubemap.h | 0 indra/llrender/llfontbitmapcache.cpp | 0 indra/llrender/llfontbitmapcache.h | 0 indra/llrender/llfontfreetype.cpp | 0 indra/llrender/llfontfreetype.h | 0 indra/llrender/llfontgl.cpp | 0 indra/llrender/llfontgl.h | 0 indra/llrender/llfontregistry.cpp | 0 indra/llrender/llfontregistry.h | 0 indra/llrender/llgl.cpp | 0 indra/llrender/llgl.h | 0 indra/llrender/llgldbg.cpp | 0 indra/llrender/llgldbg.h | 0 indra/llrender/llglheaders.h | 0 indra/llrender/llglslshader.cpp | 0 indra/llrender/llglslshader.h | 0 indra/llrender/llglstates.h | 0 indra/llrender/llgltypes.h | 0 indra/llrender/llimagegl.cpp | 0 indra/llrender/llimagegl.h | 0 indra/llrender/llpostprocess.cpp | 0 indra/llrender/llpostprocess.h | 0 indra/llrender/llrender.cpp | 0 indra/llrender/llrender.h | 0 indra/llrender/llrendersphere.cpp | 0 indra/llrender/llrendersphere.h | 0 indra/llrender/llrendertarget.cpp | 0 indra/llrender/llrendertarget.h | 0 indra/llrender/llshadermgr.cpp | 0 indra/llrender/llshadermgr.h | 0 indra/llrender/lltexture.cpp | 0 indra/llrender/lltexture.h | 0 indra/llrender/llvertexbuffer.cpp | 0 indra/llrender/llvertexbuffer.h | 0 indra/llui/CMakeLists.txt | 0 indra/llui/llaccordionctrl.cpp | 0 indra/llui/llaccordionctrl.h | 0 indra/llui/llaccordionctrltab.cpp | 0 indra/llui/llaccordionctrltab.h | 0 indra/llui/llbutton.cpp | 0 indra/llui/llbutton.h | 0 indra/llui/llcallbackmap.h | 0 indra/llui/llcheckboxctrl.cpp | 0 indra/llui/llcheckboxctrl.h | 0 indra/llui/llclipboard.cpp | 0 indra/llui/llclipboard.h | 0 indra/llui/llcombobox.cpp | 0 indra/llui/llcombobox.h | 0 indra/llui/llconsole.cpp | 0 indra/llui/llconsole.h | 0 indra/llui/llcontainerview.cpp | 0 indra/llui/llcontainerview.h | 0 indra/llui/llctrlselectioninterface.cpp | 0 indra/llui/llctrlselectioninterface.h | 0 indra/llui/lldockablefloater.cpp | 0 indra/llui/lldockablefloater.h | 0 indra/llui/lldockcontrol.cpp | 0 indra/llui/lldockcontrol.h | 0 indra/llui/lldraghandle.cpp | 0 indra/llui/lldraghandle.h | 0 indra/llui/lleditmenuhandler.cpp | 0 indra/llui/lleditmenuhandler.h | 0 indra/llui/llf32uictrl.cpp | 0 indra/llui/llf32uictrl.h | 0 indra/llui/llfiltereditor.cpp | 0 indra/llui/llfiltereditor.h | 0 indra/llui/llflatlistview.cpp | 0 indra/llui/llflatlistview.h | 0 indra/llui/llfloater.cpp | 0 indra/llui/llfloater.h | 0 indra/llui/llfloaterreg.cpp | 0 indra/llui/llfloaterreg.h | 0 indra/llui/llfloaterreglistener.cpp | 0 indra/llui/llfloaterreglistener.h | 0 indra/llui/llflyoutbutton.cpp | 0 indra/llui/llflyoutbutton.h | 0 indra/llui/llfocusmgr.cpp | 0 indra/llui/llfocusmgr.h | 0 indra/llui/llfunctorregistry.cpp | 0 indra/llui/llfunctorregistry.h | 0 indra/llui/llhandle.h | 0 indra/llui/llhelp.h | 0 indra/llui/lliconctrl.cpp | 0 indra/llui/lliconctrl.h | 0 indra/llui/llkeywords.cpp | 0 indra/llui/llkeywords.h | 0 indra/llui/lllayoutstack.cpp | 0 indra/llui/lllayoutstack.h | 0 indra/llui/lllazyvalue.h | 0 indra/llui/lllineeditor.cpp | 0 indra/llui/lllineeditor.h | 0 indra/llui/llloadingindicator.cpp | 0 indra/llui/llloadingindicator.h | 0 indra/llui/lllocalcliprect.cpp | 0 indra/llui/lllocalcliprect.h | 0 indra/llui/llmenubutton.cpp | 0 indra/llui/llmenubutton.h | 0 indra/llui/llmenugl.cpp | 0 indra/llui/llmenugl.h | 0 indra/llui/llmodaldialog.cpp | 0 indra/llui/llmodaldialog.h | 0 indra/llui/llmultifloater.cpp | 0 indra/llui/llmultifloater.h | 0 indra/llui/llmultislider.cpp | 0 indra/llui/llmultislider.h | 0 indra/llui/llmultisliderctrl.cpp | 0 indra/llui/llmultisliderctrl.h | 0 indra/llui/llnotificationptr.h | 0 indra/llui/llnotifications.cpp | 0 indra/llui/llnotifications.h | 0 indra/llui/llnotificationslistener.cpp | 0 indra/llui/llnotificationslistener.h | 0 indra/llui/llnotificationsutil.cpp | 0 indra/llui/llnotificationsutil.h | 0 indra/llui/llpanel.cpp | 0 indra/llui/llpanel.h | 0 indra/llui/llprogressbar.cpp | 0 indra/llui/llprogressbar.h | 0 indra/llui/llradiogroup.cpp | 0 indra/llui/llradiogroup.h | 0 indra/llui/llresizebar.cpp | 0 indra/llui/llresizebar.h | 0 indra/llui/llresizehandle.cpp | 0 indra/llui/llresizehandle.h | 0 indra/llui/llresmgr.cpp | 0 indra/llui/llresmgr.h | 0 indra/llui/llrngwriter.cpp | 0 indra/llui/llrngwriter.h | 0 indra/llui/llscrollbar.cpp | 0 indra/llui/llscrollbar.h | 0 indra/llui/llscrollcontainer.cpp | 0 indra/llui/llscrollcontainer.h | 0 indra/llui/llscrollingpanellist.cpp | 0 indra/llui/llscrollingpanellist.h | 0 indra/llui/llscrolllistcell.cpp | 0 indra/llui/llscrolllistcell.h | 0 indra/llui/llscrolllistcolumn.cpp | 0 indra/llui/llscrolllistcolumn.h | 0 indra/llui/llscrolllistctrl.cpp | 0 indra/llui/llscrolllistctrl.h | 0 indra/llui/llscrolllistitem.cpp | 0 indra/llui/llscrolllistitem.h | 0 indra/llui/llsdparam.cpp | 0 indra/llui/llsdparam.h | 0 indra/llui/llsearcheditor.cpp | 0 indra/llui/llsearcheditor.h | 0 indra/llui/llslider.cpp | 0 indra/llui/llslider.h | 0 indra/llui/llsliderctrl.cpp | 0 indra/llui/llsliderctrl.h | 0 indra/llui/llspinctrl.cpp | 0 indra/llui/llspinctrl.h | 0 indra/llui/llstatbar.cpp | 0 indra/llui/llstatbar.h | 0 indra/llui/llstatgraph.cpp | 0 indra/llui/llstatgraph.h | 0 indra/llui/llstatview.cpp | 0 indra/llui/llstatview.h | 0 indra/llui/llstyle.cpp | 0 indra/llui/llstyle.h | 0 indra/llui/lltabcontainer.cpp | 0 indra/llui/lltabcontainer.h | 0 indra/llui/lltextbase.cpp | 0 indra/llui/lltextbase.h | 0 indra/llui/lltextbox.cpp | 0 indra/llui/lltextbox.h | 0 indra/llui/lltexteditor.cpp | 0 indra/llui/lltexteditor.h | 0 indra/llui/lltextparser.cpp | 0 indra/llui/lltextparser.h | 0 indra/llui/lltextutil.cpp | 0 indra/llui/lltextutil.h | 0 indra/llui/lltextvalidate.cpp | 0 indra/llui/lltextvalidate.h | 0 indra/llui/lltoggleablemenu.cpp | 0 indra/llui/lltoggleablemenu.h | 0 indra/llui/lltooltip.cpp | 0 indra/llui/lltooltip.h | 0 indra/llui/lltransutil.cpp | 0 indra/llui/lltransutil.h | 0 indra/llui/llui.cpp | 0 indra/llui/llui.h | 0 indra/llui/lluicolortable.cpp | 0 indra/llui/lluicolortable.h | 0 indra/llui/lluiconstants.h | 0 indra/llui/lluictrl.cpp | 0 indra/llui/lluictrl.h | 0 indra/llui/lluictrlfactory.cpp | 0 indra/llui/lluictrlfactory.h | 0 indra/llui/lluifwd.h | 0 indra/llui/lluiimage.cpp | 0 indra/llui/lluiimage.h | 0 indra/llui/lluistring.cpp | 0 indra/llui/lluistring.h | 0 indra/llui/llundo.cpp | 0 indra/llui/llundo.h | 0 indra/llui/llurlaction.cpp | 0 indra/llui/llurlaction.h | 0 indra/llui/llurlentry.cpp | 0 indra/llui/llurlentry.h | 0 indra/llui/llurlmatch.cpp | 0 indra/llui/llurlmatch.h | 0 indra/llui/llurlregistry.cpp | 0 indra/llui/llurlregistry.h | 0 indra/llui/llview.cpp | 0 indra/llui/llview.h | 0 indra/llui/llviewborder.cpp | 0 indra/llui/llviewborder.h | 0 indra/llui/llviewmodel.cpp | 0 indra/llui/llviewmodel.h | 0 indra/llui/llviewquery.cpp | 0 indra/llui/llviewquery.h | 0 indra/llui/tests/llurlentry_stub.cpp | 0 indra/llui/tests/llurlentry_test.cpp | 0 indra/llui/tests/llurlmatch_test.cpp | 0 indra/llvfs/CMakeLists.txt | 0 indra/llvfs/lldir.cpp | 0 indra/llvfs/lldir.h | 0 indra/llvfs/lldir_linux.cpp | 0 indra/llvfs/lldir_linux.h | 0 indra/llvfs/lldir_mac.cpp | 0 indra/llvfs/lldir_mac.h | 0 indra/llvfs/lldir_solaris.cpp | 0 indra/llvfs/lldir_solaris.h | 0 indra/llvfs/lldir_win32.cpp | 0 indra/llvfs/lldir_win32.h | 0 indra/llvfs/lldirguard.h | 0 indra/llvfs/lllfsthread.cpp | 0 indra/llvfs/lllfsthread.h | 0 indra/llvfs/llpidlock.cpp | 0 indra/llvfs/llpidlock.h | 0 indra/llvfs/llvfile.cpp | 0 indra/llvfs/llvfile.h | 0 indra/llvfs/llvfs.cpp | 0 indra/llvfs/llvfs.h | 0 indra/llvfs/llvfsthread.cpp | 0 indra/llvfs/llvfsthread.h | 0 indra/llvfs/tests/lldir_test.cpp | 0 indra/llwindow/CMakeLists.txt | 0 indra/llwindow/GL/glh_extensions.h | 0 indra/llwindow/GL/glh_genext.h | 0 indra/llwindow/lldragdropwin32.cpp | 0 indra/llwindow/lldragdropwin32.h | 0 indra/llwindow/lldxhardware.cpp | 0 indra/llwindow/lldxhardware.h | 0 indra/llwindow/llkeyboard.cpp | 0 indra/llwindow/llkeyboard.h | 0 indra/llwindow/llkeyboardmacosx.cpp | 0 indra/llwindow/llkeyboardmacosx.h | 0 indra/llwindow/llkeyboardsdl.cpp | 0 indra/llwindow/llkeyboardsdl.h | 0 indra/llwindow/llkeyboardwin32.cpp | 0 indra/llwindow/llkeyboardwin32.h | 0 indra/llwindow/llmousehandler.cpp | 0 indra/llwindow/llmousehandler.h | 0 indra/llwindow/llpreeditor.h | 0 indra/llwindow/llwindow.cpp | 0 indra/llwindow/llwindow.h | 0 indra/llwindow/llwindowcallbacks.cpp | 0 indra/llwindow/llwindowcallbacks.h | 0 indra/llwindow/llwindowheadless.cpp | 0 indra/llwindow/llwindowheadless.h | 0 indra/llwindow/llwindowmacosx-objc.h | 0 indra/llwindow/llwindowmacosx-objc.mm | 0 indra/llwindow/llwindowmacosx.cpp | 0 indra/llwindow/llwindowmacosx.h | 0 indra/llwindow/llwindowmesaheadless.cpp | 0 indra/llwindow/llwindowmesaheadless.h | 0 indra/llwindow/llwindowsdl.cpp | 0 indra/llwindow/llwindowsdl.h | 0 indra/llwindow/llwindowwin32.cpp | 0 indra/llwindow/llwindowwin32.h | 0 indra/llxml/CMakeLists.txt | 0 indra/llxml/llcontrol.cpp | 0 indra/llxml/llcontrol.h | 0 indra/llxml/llcontrolgroupreader.h | 0 indra/llxml/llxmlnode.cpp | 0 indra/llxml/llxmlnode.h | 0 indra/llxml/llxmlparser.cpp | 0 indra/llxml/llxmlparser.h | 0 indra/llxml/llxmltree.cpp | 0 indra/llxml/llxmltree.h | 0 indra/llxml/tests/llcontrol_test.cpp | 0 indra/llxuixml/CMakeLists.txt | 0 indra/llxuixml/llinitparam.cpp | 0 indra/llxuixml/llinitparam.h | 0 indra/llxuixml/llregistry.h | 0 indra/llxuixml/lltrans.cpp | 0 indra/llxuixml/lltrans.h | 0 indra/llxuixml/lluicolor.cpp | 0 indra/llxuixml/lluicolor.h | 0 indra/llxuixml/llxuiparser.cpp | 0 indra/llxuixml/llxuiparser.h | 0 indra/lscript/CMakeLists.txt | 0 indra/lscript/llscriptresource.h | 0 indra/lscript/llscriptresourceconsumer.h | 0 indra/lscript/llscriptresourcepool.h | 0 indra/lscript/lscript_alloc.h | 0 indra/lscript/lscript_byteconvert.h | 0 indra/lscript/lscript_byteformat.h | 0 indra/lscript/lscript_compile/CMakeLists.txt | 0 indra/lscript/lscript_compile/indra.l | 0 indra/lscript/lscript_compile/indra.y | 0 indra/lscript/lscript_compile/lscript_alloc.cpp | 0 indra/lscript/lscript_compile/lscript_bytecode.cpp | 0 indra/lscript/lscript_compile/lscript_bytecode.h | 0 indra/lscript/lscript_compile/lscript_error.cpp | 0 indra/lscript/lscript_compile/lscript_error.h | 0 indra/lscript/lscript_compile/lscript_heap.cpp | 0 indra/lscript/lscript_compile/lscript_heap.h | 0 indra/lscript/lscript_compile/lscript_resource.cpp | 0 indra/lscript/lscript_compile/lscript_resource.h | 0 indra/lscript/lscript_compile/lscript_scope.cpp | 0 indra/lscript/lscript_compile/lscript_scope.h | 0 indra/lscript/lscript_compile/lscript_tree.cpp | 0 indra/lscript/lscript_compile/lscript_tree.h | 0 indra/lscript/lscript_compile/lscript_typecheck.cpp | 0 indra/lscript/lscript_compile/lscript_typecheck.h | 0 indra/lscript/lscript_compile/windows/unistd.h | 0 indra/lscript/lscript_execute.h | 0 indra/lscript/lscript_execute/CMakeLists.txt | 0 indra/lscript/lscript_execute/llscriptresource.cpp | 0 indra/lscript/lscript_execute/llscriptresourceconsumer.cpp | 0 indra/lscript/lscript_execute/llscriptresourcepool.cpp | 0 indra/lscript/lscript_execute/lscript_execute.cpp | 0 indra/lscript/lscript_execute/lscript_heapruntime.cpp | 0 indra/lscript/lscript_execute/lscript_heapruntime.h | 0 indra/lscript/lscript_execute/lscript_readlso.cpp | 0 indra/lscript/lscript_execute/lscript_readlso.h | 0 indra/lscript/lscript_export.h | 0 indra/lscript/lscript_http.h | 0 indra/lscript/lscript_library.h | 0 indra/lscript/lscript_library/CMakeLists.txt | 0 indra/lscript/lscript_library/lscript_alloc.cpp | 0 indra/lscript/lscript_library/lscript_export.cpp | 0 indra/lscript/lscript_library/lscript_library.cpp | 0 indra/lscript/lscript_rt_interface.h | 0 indra/mac_crash_logger/CMakeLists.txt | 0 indra/mac_crash_logger/CrashReporter.nib/classes.nib | 0 indra/mac_crash_logger/CrashReporter.nib/info.nib | 0 indra/mac_crash_logger/CrashReporter.nib/objects.xib | 0 indra/mac_crash_logger/Info.plist | 0 indra/mac_crash_logger/llcrashloggermac.cpp | 0 indra/mac_crash_logger/llcrashloggermac.h | 0 indra/mac_crash_logger/mac_crash_logger.cpp | 0 indra/mac_updater/AutoUpdater.nib/classes.nib | 0 indra/mac_updater/AutoUpdater.nib/info.nib | 0 indra/mac_updater/AutoUpdater.nib/objects.xib | 0 indra/mac_updater/CMakeLists.txt | 0 indra/mac_updater/Info.plist | 0 indra/mac_updater/mac_updater.cpp | 0 indra/media_plugins/CMakeLists.txt | 0 indra/media_plugins/base/CMakeLists.txt | 0 indra/media_plugins/base/media_plugin_base.cpp | 0 indra/media_plugins/base/media_plugin_base.exp | 0 indra/media_plugins/base/media_plugin_base.h | 0 indra/media_plugins/example/CMakeLists.txt | 0 indra/media_plugins/example/media_plugin_example.cpp | 0 indra/media_plugins/gstreamer010/CMakeLists.txt | 0 indra/media_plugins/gstreamer010/llmediaimplgstreamer.h | 0 .../gstreamer010/llmediaimplgstreamer_syms.cpp | 0 .../media_plugins/gstreamer010/llmediaimplgstreamer_syms.h | 0 .../gstreamer010/llmediaimplgstreamer_syms_raw.inc | 0 .../gstreamer010/llmediaimplgstreamer_syms_rawv.inc | 0 .../gstreamer010/llmediaimplgstreamertriviallogging.h | 0 .../gstreamer010/llmediaimplgstreamervidplug.cpp | 0 .../gstreamer010/llmediaimplgstreamervidplug.h | 0 .../gstreamer010/media_plugin_gstreamer010.cpp | 0 indra/media_plugins/quicktime/CMakeLists.txt | 0 indra/media_plugins/quicktime/media_plugin_quicktime.cpp | 0 indra/media_plugins/webkit/CMakeLists.txt | 0 indra/media_plugins/webkit/dummy_volume_catcher.cpp | 0 indra/media_plugins/webkit/linux_volume_catcher.cpp | 0 indra/media_plugins/webkit/linux_volume_catcher_pa_syms.inc | 0 .../webkit/linux_volume_catcher_paglib_syms.inc | 0 indra/media_plugins/webkit/mac_volume_catcher.cpp | 0 indra/media_plugins/webkit/media_plugin_webkit.cpp | 0 indra/media_plugins/webkit/volume_catcher.h | 0 indra/media_plugins/webkit/windows_volume_catcher.cpp | 0 indra/media_plugins/winmmshim/CMakeLists.txt | 0 indra/media_plugins/winmmshim/forwarding_api.cpp | 0 indra/media_plugins/winmmshim/forwarding_api.h | 0 indra/media_plugins/winmmshim/winmm.def | 0 indra/media_plugins/winmmshim/winmm_shim.cpp | 0 indra/newview/CMakeLists.txt | 0 indra/newview/English.lproj/InfoPlist.strings | 0 indra/newview/English.lproj/language.txt | 0 indra/newview/German.lproj/language.txt | 0 indra/newview/Info-SecondLife.plist | 0 indra/newview/Info-SecondLifeVorbis.plist | 0 indra/newview/Japanese.lproj/language.txt | 0 indra/newview/Korean.lproj/language.txt | 0 indra/newview/SecondLife.nib/classes.nib | 0 indra/newview/SecondLife.nib/info.nib | 0 indra/newview/SecondLife.nib/objects.xib | 0 indra/newview/VertexCache.h | 0 indra/newview/ViewerInstall.cmake | 0 indra/newview/VorbisFramework.h | 0 indra/newview/app_settings/CA.pem | 0 indra/newview/app_settings/anim.ini | 0 indra/newview/app_settings/cmd_line.xml | 0 indra/newview/app_settings/foldertypes.xml | 0 indra/newview/app_settings/grass.xml | 0 indra/newview/app_settings/high_graphics.xml | 0 indra/newview/app_settings/ignorable_dialogs.xml | 0 indra/newview/app_settings/keys.ini | 0 indra/newview/app_settings/keywords.ini | 0 indra/newview/app_settings/logcontrol.xml | 0 indra/newview/app_settings/low_graphics.xml | 0 indra/newview/app_settings/mid_graphics.xml | 0 indra/newview/app_settings/settings.xml | 0 indra/newview/app_settings/settings_crash_behavior.xml | 0 indra/newview/app_settings/settings_files.xml | 0 indra/newview/app_settings/settings_per_account.xml | 0 .../newview/app_settings/shaders/class1/avatar/avatarF.glsl | 0 .../app_settings/shaders/class1/avatar/avatarSkinV.glsl | 0 .../newview/app_settings/shaders/class1/avatar/avatarV.glsl | 0 .../app_settings/shaders/class1/avatar/eyeballF.glsl | 0 .../app_settings/shaders/class1/avatar/eyeballV.glsl | 0 .../app_settings/shaders/class1/avatar/objectSkinV.glsl | 0 .../app_settings/shaders/class1/avatar/pickAvatarF.glsl | 0 .../app_settings/shaders/class1/avatar/pickAvatarV.glsl | 0 .../app_settings/shaders/class1/deferred/alphaF.glsl | 0 .../app_settings/shaders/class1/deferred/alphaSkinnedV.glsl | 0 .../app_settings/shaders/class1/deferred/alphaV.glsl | 0 .../shaders/class1/deferred/attachmentShadowF.glsl | 0 .../shaders/class1/deferred/attachmentShadowV.glsl | 0 .../app_settings/shaders/class1/deferred/avatarAlphaF.glsl | 0 .../app_settings/shaders/class1/deferred/avatarAlphaV.glsl | 0 .../app_settings/shaders/class1/deferred/avatarF.glsl | 0 .../app_settings/shaders/class1/deferred/avatarShadowF.glsl | 0 .../app_settings/shaders/class1/deferred/avatarShadowV.glsl | 0 .../app_settings/shaders/class1/deferred/avatarV.glsl | 0 .../app_settings/shaders/class1/deferred/blurLightF.glsl | 0 .../app_settings/shaders/class1/deferred/blurLightV.glsl | 0 .../newview/app_settings/shaders/class1/deferred/bumpF.glsl | 0 .../app_settings/shaders/class1/deferred/bumpSkinnedV.glsl | 0 .../newview/app_settings/shaders/class1/deferred/bumpV.glsl | 0 .../app_settings/shaders/class1/deferred/diffuseF.glsl | 0 .../shaders/class1/deferred/diffuseSkinnedV.glsl | 0 .../app_settings/shaders/class1/deferred/diffuseV.glsl | 0 .../app_settings/shaders/class1/deferred/fullbrightF.glsl | 0 .../app_settings/shaders/class1/deferred/fullbrightV.glsl | 0 indra/newview/app_settings/shaders/class1/deferred/giF.glsl | 0 indra/newview/app_settings/shaders/class1/deferred/giV.glsl | 0 .../app_settings/shaders/class1/deferred/impostorF.glsl | 0 .../app_settings/shaders/class1/deferred/impostorV.glsl | 0 .../app_settings/shaders/class1/deferred/luminanceF.glsl | 0 .../app_settings/shaders/class1/deferred/luminanceV.glsl | 0 .../shaders/class1/deferred/multiPointLightF.glsl | 0 .../shaders/class1/deferred/multiSpotLightF.glsl | 0 .../app_settings/shaders/class1/deferred/pointLightF.glsl | 0 .../app_settings/shaders/class1/deferred/pointLightV.glsl | 0 .../app_settings/shaders/class1/deferred/postDeferredF.glsl | 0 .../app_settings/shaders/class1/deferred/postDeferredV.glsl | 0 .../app_settings/shaders/class1/deferred/postgiF.glsl | 0 .../app_settings/shaders/class1/deferred/postgiV.glsl | 0 .../app_settings/shaders/class1/deferred/shadowF.glsl | 0 .../app_settings/shaders/class1/deferred/shadowV.glsl | 0 .../app_settings/shaders/class1/deferred/softenLightF.glsl | 0 .../app_settings/shaders/class1/deferred/softenLightV.glsl | 0 .../app_settings/shaders/class1/deferred/spotLightF.glsl | 0 .../app_settings/shaders/class1/deferred/sunLightF.glsl | 0 .../app_settings/shaders/class1/deferred/sunLightSSAOF.glsl | 0 .../app_settings/shaders/class1/deferred/sunLightV.glsl | 0 .../app_settings/shaders/class1/deferred/terrainF.glsl | 0 .../app_settings/shaders/class1/deferred/terrainV.glsl | 0 .../newview/app_settings/shaders/class1/deferred/treeF.glsl | 0 .../newview/app_settings/shaders/class1/deferred/treeV.glsl | 0 .../app_settings/shaders/class1/deferred/waterF.glsl | 0 .../app_settings/shaders/class1/deferred/waterV.glsl | 0 .../app_settings/shaders/class1/effects/glowExtractF.glsl | 0 .../app_settings/shaders/class1/effects/glowExtractV.glsl | 0 .../newview/app_settings/shaders/class1/effects/glowF.glsl | 0 .../newview/app_settings/shaders/class1/effects/glowV.glsl | 0 .../app_settings/shaders/class1/environment/terrainF.glsl | 0 .../app_settings/shaders/class1/environment/terrainV.glsl | 0 .../shaders/class1/environment/terrainWaterF.glsl | 0 .../shaders/class1/environment/underWaterF.glsl | 0 .../app_settings/shaders/class1/environment/waterF.glsl | 0 .../app_settings/shaders/class1/environment/waterFogF.glsl | 0 .../app_settings/shaders/class1/environment/waterV.glsl | 0 .../app_settings/shaders/class1/interface/highlightF.glsl | 0 .../app_settings/shaders/class1/interface/highlightV.glsl | 0 .../app_settings/shaders/class1/lighting/lightF.glsl | 0 .../shaders/class1/lighting/lightFullbrightF.glsl | 0 .../shaders/class1/lighting/lightFullbrightShinyF.glsl | 0 .../shaders/class1/lighting/lightFullbrightShinyWaterF.glsl | 0 .../shaders/class1/lighting/lightFullbrightWaterF.glsl | 0 .../shaders/class1/lighting/lightFuncSpecularV.glsl | 0 .../app_settings/shaders/class1/lighting/lightFuncV.glsl | 0 .../app_settings/shaders/class1/lighting/lightShinyF.glsl | 0 .../shaders/class1/lighting/lightShinyWaterF.glsl | 0 .../shaders/class1/lighting/lightSpecularV.glsl | 0 .../app_settings/shaders/class1/lighting/lightV.glsl | 0 .../app_settings/shaders/class1/lighting/lightWaterF.glsl | 0 .../shaders/class1/lighting/sumLightsSpecularV.glsl | 0 .../app_settings/shaders/class1/lighting/sumLightsV.glsl | 0 .../app_settings/shaders/class1/objects/fullbrightF.glsl | 0 .../shaders/class1/objects/fullbrightShinyF.glsl | 0 .../shaders/class1/objects/fullbrightShinySkinnedV.glsl | 0 .../shaders/class1/objects/fullbrightShinyV.glsl | 0 .../shaders/class1/objects/fullbrightShinyWaterF.glsl | 0 .../shaders/class1/objects/fullbrightSkinnedV.glsl | 0 .../app_settings/shaders/class1/objects/fullbrightV.glsl | 0 .../shaders/class1/objects/fullbrightWaterF.glsl | 0 .../newview/app_settings/shaders/class1/objects/shinyF.glsl | 0 .../shaders/class1/objects/shinySimpleSkinnedV.glsl | 0 .../newview/app_settings/shaders/class1/objects/shinyV.glsl | 0 .../app_settings/shaders/class1/objects/shinyWaterF.glsl | 0 .../app_settings/shaders/class1/objects/simpleF.glsl | 0 .../app_settings/shaders/class1/objects/simpleSkinnedV.glsl | 0 .../app_settings/shaders/class1/objects/simpleV.glsl | 0 .../app_settings/shaders/class1/objects/simpleWaterF.glsl | 0 .../shaders/class1/windlight/atmosphericsF.glsl | 0 .../shaders/class1/windlight/atmosphericsHelpersV.glsl | 0 .../shaders/class1/windlight/atmosphericsV.glsl | 0 .../shaders/class1/windlight/atmosphericsVarsF.glsl | 0 .../shaders/class1/windlight/atmosphericsVarsV.glsl | 0 .../app_settings/shaders/class1/windlight/gammaF.glsl | 0 .../app_settings/shaders/class1/windlight/transportF.glsl | 0 .../app_settings/shaders/class2/avatar/eyeballV.glsl | 0 .../app_settings/shaders/class2/deferred/alphaF.glsl | 0 .../app_settings/shaders/class2/deferred/alphaSkinnedV.glsl | 0 .../app_settings/shaders/class2/deferred/alphaV.glsl | 0 .../app_settings/shaders/class2/deferred/avatarAlphaF.glsl | 0 .../app_settings/shaders/class2/deferred/avatarAlphaV.glsl | 0 .../app_settings/shaders/class2/deferred/blurLightF.glsl | 0 .../app_settings/shaders/class2/deferred/blurLightV.glsl | 0 .../newview/app_settings/shaders/class2/deferred/edgeF.glsl | 0 .../newview/app_settings/shaders/class2/deferred/edgeV.glsl | 0 .../shaders/class2/deferred/multiSpotLightF.glsl | 0 .../app_settings/shaders/class2/deferred/postDeferredF.glsl | 0 .../app_settings/shaders/class2/deferred/postDeferredV.glsl | 0 .../app_settings/shaders/class2/deferred/softenLightF.glsl | 0 .../app_settings/shaders/class2/deferred/softenLightV.glsl | 0 .../app_settings/shaders/class2/deferred/spotLightF.glsl | 0 .../app_settings/shaders/class2/deferred/sunLightF.glsl | 0 .../app_settings/shaders/class2/deferred/sunLightSSAOF.glsl | 0 .../app_settings/shaders/class2/deferred/sunLightV.glsl | 0 .../newview/app_settings/shaders/class2/effects/blurF.glsl | 0 .../newview/app_settings/shaders/class2/effects/blurV.glsl | 0 .../app_settings/shaders/class2/effects/colorFilterF.glsl | 0 .../app_settings/shaders/class2/effects/drawQuadV.glsl | 0 .../app_settings/shaders/class2/effects/extractF.glsl | 0 .../app_settings/shaders/class2/effects/nightVisionF.glsl | 0 .../app_settings/shaders/class2/effects/simpleF.glsl | 0 .../app_settings/shaders/class2/environment/terrainF.glsl | 0 .../app_settings/shaders/class2/environment/terrainV.glsl | 0 .../shaders/class2/environment/terrainWaterF.glsl | 0 .../shaders/class2/environment/underWaterF.glsl | 0 .../app_settings/shaders/class2/environment/waterF.glsl | 0 .../app_settings/shaders/class2/environment/waterFogF.glsl | 0 .../app_settings/shaders/class2/lighting/lightF.glsl | 0 .../shaders/class2/lighting/lightFullbrightF.glsl | 0 .../shaders/class2/lighting/lightFullbrightShinyF.glsl | 0 .../shaders/class2/lighting/lightFullbrightShinyWaterF.glsl | 0 .../shaders/class2/lighting/lightFullbrightWaterF.glsl | 0 .../app_settings/shaders/class2/lighting/lightShinyF.glsl | 0 .../shaders/class2/lighting/lightShinyWaterF.glsl | 0 .../shaders/class2/lighting/lightSpecularV.glsl | 0 .../app_settings/shaders/class2/lighting/lightV.glsl | 0 .../app_settings/shaders/class2/lighting/lightWaterF.glsl | 0 .../shaders/class2/lighting/sumLightsSpecularV.glsl | 0 .../app_settings/shaders/class2/lighting/sumLightsV.glsl | 0 .../newview/app_settings/shaders/class2/objects/shinyV.glsl | 0 .../shaders/class2/windlight/atmosphericsF.glsl | 0 .../shaders/class2/windlight/atmosphericsHelpersV.glsl | 0 .../shaders/class2/windlight/atmosphericsV.glsl | 0 .../shaders/class2/windlight/atmosphericsVarsF.glsl | 0 .../shaders/class2/windlight/atmosphericsVarsV.glsl | 0 .../app_settings/shaders/class2/windlight/cloudsF.glsl | 0 .../app_settings/shaders/class2/windlight/cloudsV.glsl | 0 .../app_settings/shaders/class2/windlight/gammaF.glsl | 0 .../newview/app_settings/shaders/class2/windlight/skyF.glsl | 0 .../newview/app_settings/shaders/class2/windlight/skyV.glsl | 0 .../app_settings/shaders/class2/windlight/transportF.glsl | 0 .../newview/app_settings/shaders/class3/avatar/avatarV.glsl | 0 .../app_settings/shaders/class3/deferred/giDownsampleF.glsl | 0 .../app_settings/shaders/class3/deferred/giDownsampleV.glsl | 0 indra/newview/app_settings/shaders/class3/deferred/giF.glsl | 0 .../app_settings/shaders/class3/deferred/giFinalF.glsl | 0 .../app_settings/shaders/class3/deferred/giFinalV.glsl | 0 indra/newview/app_settings/shaders/class3/deferred/giV.glsl | 0 .../app_settings/shaders/class3/deferred/luminanceF.glsl | 0 .../app_settings/shaders/class3/deferred/luminanceV.glsl | 0 .../app_settings/shaders/class3/deferred/postDeferredF.glsl | 0 .../app_settings/shaders/class3/deferred/postDeferredV.glsl | 0 .../app_settings/shaders/class3/deferred/postgiF.glsl | 0 .../app_settings/shaders/class3/deferred/postgiV.glsl | 0 .../app_settings/shaders/class3/deferred/softenLightF.glsl | 0 .../app_settings/shaders/class3/deferred/softenLightV.glsl | 0 .../newview/app_settings/shaders/class3/deferred/treeF.glsl | 0 .../shaders/class3/lighting/sumLightsSpecularV.glsl | 0 .../app_settings/shaders/class3/lighting/sumLightsV.glsl | 0 indra/newview/app_settings/shaders/shader_heirarchy.txt | 0 indra/newview/app_settings/static_data.db2 | Bin indra/newview/app_settings/static_index.db2 | Bin indra/newview/app_settings/std_bump.ini | 0 indra/newview/app_settings/trees.xml | 0 indra/newview/app_settings/ultra_graphics.xml | 0 indra/newview/app_settings/viewerart.xml | 0 indra/newview/app_settings/windlight/clouds2.tga | Bin indra/newview/app_settings/windlight/days/Default.xml | 0 indra/newview/app_settings/windlight/postprocesseffects.xml | 0 indra/newview/app_settings/windlight/skies/A%2D12AM.xml | 0 indra/newview/app_settings/windlight/skies/A%2D12PM.xml | 0 indra/newview/app_settings/windlight/skies/A%2D3AM.xml | 0 indra/newview/app_settings/windlight/skies/A%2D3PM.xml | 0 indra/newview/app_settings/windlight/skies/A%2D6AM.xml | 0 indra/newview/app_settings/windlight/skies/A%2D6PM.xml | 0 indra/newview/app_settings/windlight/skies/A%2D9AM.xml | 0 indra/newview/app_settings/windlight/skies/A%2D9PM.xml | 0 indra/newview/app_settings/windlight/skies/Barcelona.xml | 0 indra/newview/app_settings/windlight/skies/Blizzard.xml | 0 .../newview/app_settings/windlight/skies/Blue%20Midday.xml | 0 .../app_settings/windlight/skies/Coastal%20Afternoon.xml | 0 .../app_settings/windlight/skies/Coastal%20Sunset.xml | 0 indra/newview/app_settings/windlight/skies/Default.xml | 0 .../app_settings/windlight/skies/Desert%20Sunset.xml | 0 indra/newview/app_settings/windlight/skies/Fine%20Day.xml | 0 .../app_settings/windlight/skies/Fluffy%20Big%20Clouds.xml | 0 indra/newview/app_settings/windlight/skies/Foggy.xml | 0 .../app_settings/windlight/skies/Funky%20Funky%20Funky.xml | 0 .../newview/app_settings/windlight/skies/Funky%20Funky.xml | 0 indra/newview/app_settings/windlight/skies/Gelatto.xml | 0 indra/newview/app_settings/windlight/skies/Ghost.xml | 0 .../app_settings/windlight/skies/Incongruent%20Truths.xml | 0 indra/newview/app_settings/windlight/skies/Midday%201.xml | 0 indra/newview/app_settings/windlight/skies/Midday%202.xml | 0 indra/newview/app_settings/windlight/skies/Midday%203.xml | 0 indra/newview/app_settings/windlight/skies/Midday%204.xml | 0 indra/newview/app_settings/windlight/skies/Night.xml | 0 indra/newview/app_settings/windlight/skies/Pirate.xml | 0 indra/newview/app_settings/windlight/skies/Purple.xml | 0 .../app_settings/windlight/skies/Sailor%27s%20Delight.xml | 0 .../app_settings/windlight/skies/Sheer%20Surreality.xml | 0 indra/newview/app_settings/windlight/water/Default.xml | 0 indra/newview/app_settings/windlight/water/Glassy.xml | 0 indra/newview/app_settings/windlight/water/Murky.xml | 0 indra/newview/app_settings/windlight/water/Pond.xml | 0 .../newview/app_settings/windlight/water/SNAKE%21%21%21.xml | 0 .../app_settings/windlight/water/Second%20Plague.xml | 0 indra/newview/app_settings/windlight/water/Valdez.xml | 0 indra/newview/build_win32_appConfig.py | 0 indra/newview/character/attentions.xml | 0 indra/newview/character/attentionsN.xml | 0 indra/newview/character/avatar_eye.llm | Bin indra/newview/character/avatar_eye_1.llm | Bin indra/newview/character/avatar_eyelashes.llm | Bin indra/newview/character/avatar_hair.llm | Bin indra/newview/character/avatar_hair_1.llm | Bin indra/newview/character/avatar_hair_2.llm | Bin indra/newview/character/avatar_hair_3.llm | Bin indra/newview/character/avatar_hair_4.llm | Bin indra/newview/character/avatar_hair_5.llm | Bin indra/newview/character/avatar_head.llm | Bin indra/newview/character/avatar_head_1.llm | Bin indra/newview/character/avatar_head_2.llm | Bin indra/newview/character/avatar_head_3.llm | Bin indra/newview/character/avatar_head_4.llm | Bin indra/newview/character/avatar_lad.xml | 0 indra/newview/character/avatar_lower_body.llm | Bin indra/newview/character/avatar_lower_body_1.llm | Bin indra/newview/character/avatar_lower_body_2.llm | Bin indra/newview/character/avatar_lower_body_3.llm | Bin indra/newview/character/avatar_lower_body_4.llm | Bin indra/newview/character/avatar_skeleton.xml | 0 indra/newview/character/avatar_skirt.llm | Bin indra/newview/character/avatar_skirt_1.llm | Bin indra/newview/character/avatar_skirt_2.llm | Bin indra/newview/character/avatar_skirt_3.llm | Bin indra/newview/character/avatar_skirt_4.llm | Bin indra/newview/character/avatar_upper_body.llm | Bin indra/newview/character/avatar_upper_body_1.llm | Bin indra/newview/character/avatar_upper_body_2.llm | Bin indra/newview/character/avatar_upper_body_3.llm | Bin indra/newview/character/avatar_upper_body_4.llm | Bin indra/newview/character/blush_alpha.tga | Bin indra/newview/character/body_skingrain.tga | Bin indra/newview/character/bodyfreckles_alpha.tga | Bin indra/newview/character/bump_face_wrinkles.tga | Bin indra/newview/character/bump_head_base.tga | Bin indra/newview/character/bump_lowerbody_base.tga | Bin indra/newview/character/bump_pants_wrinkles.tga | Bin indra/newview/character/bump_shirt_wrinkles.tga | Bin indra/newview/character/bump_upperbody_base.tga | Bin indra/newview/character/checkerboard.tga | Bin indra/newview/character/eyebrows_alpha.tga | Bin indra/newview/character/eyeliner_alpha.tga | Bin indra/newview/character/eyeshadow_inner_alpha.tga | Bin indra/newview/character/eyeshadow_outer_alpha.tga | Bin indra/newview/character/eyewhite.tga | Bin indra/newview/character/facehair_chincurtains_alpha.tga | Bin indra/newview/character/facehair_moustache_alpha.tga | Bin indra/newview/character/facehair_sideburns_alpha.tga | Bin indra/newview/character/facehair_soulpatch_alpha.tga | Bin indra/newview/character/freckles_alpha.tga | Bin indra/newview/character/genepool.xml | 0 indra/newview/character/glove_length_alpha.tga | Bin indra/newview/character/gloves_fingers_alpha.tga | Bin indra/newview/character/head_alpha.tga | Bin indra/newview/character/head_color.tga | Bin indra/newview/character/head_hair.tga | Bin indra/newview/character/head_highlights_alpha.tga | Bin indra/newview/character/head_shading_alpha.tga | Bin indra/newview/character/head_skingrain.tga | Bin indra/newview/character/jacket_length_lower_alpha.tga | Bin indra/newview/character/jacket_length_upper_alpha.tga | Bin indra/newview/character/jacket_open_lower_alpha.tga | Bin indra/newview/character/jacket_open_upper_alpha.tga | Bin indra/newview/character/lipgloss_alpha.tga | Bin indra/newview/character/lips_mask.tga | Bin indra/newview/character/lipstick_alpha.tga | Bin indra/newview/character/lowerbody_color.tga | Bin indra/newview/character/lowerbody_highlights_alpha.tga | Bin indra/newview/character/lowerbody_shading_alpha.tga | Bin indra/newview/character/nailpolish_alpha.tga | Bin indra/newview/character/pants_length_alpha.tga | Bin indra/newview/character/pants_waist_alpha.tga | Bin indra/newview/character/rosyface_alpha.tga | Bin indra/newview/character/rouge_alpha.tga | Bin indra/newview/character/shirt_bottom_alpha.tga | Bin indra/newview/character/shirt_collar_alpha.tga | Bin indra/newview/character/shirt_collar_back_alpha.tga | Bin indra/newview/character/shirt_sleeve_alpha.tga | Bin indra/newview/character/shoe_height_alpha.tga | Bin indra/newview/character/skirt_length_alpha.tga | Bin indra/newview/character/skirt_slit_back_alpha.tga | Bin indra/newview/character/skirt_slit_front_alpha.tga | Bin indra/newview/character/skirt_slit_left_alpha.tga | Bin indra/newview/character/skirt_slit_right_alpha.tga | Bin indra/newview/character/underpants_trial_female.tga | Bin indra/newview/character/underpants_trial_male.tga | Bin indra/newview/character/undershirt_trial_female.tga | Bin indra/newview/character/upperbody_color.tga | Bin indra/newview/character/upperbody_highlights_alpha.tga | Bin indra/newview/character/upperbody_shading_alpha.tga | Bin indra/newview/character/upperbodyfreckles_alpha.tga | Bin indra/newview/cursors_mac/UI_CURSOR_ARROW.tif | Bin indra/newview/cursors_mac/UI_CURSOR_ARROWDRAG.tif | Bin indra/newview/cursors_mac/UI_CURSOR_ARROWLOCKED.tif | Bin indra/newview/cursors_mac/UI_CURSOR_GRABLOCKED.tif | Bin indra/newview/cursors_mac/UI_CURSOR_NO.tif | Bin indra/newview/cursors_mac/UI_CURSOR_NOLOCKED.tif | Bin indra/newview/cursors_mac/UI_CURSOR_SIZENESW.tif | Bin indra/newview/cursors_mac/UI_CURSOR_SIZENS.tif | Bin indra/newview/cursors_mac/UI_CURSOR_SIZENWSE.tif | Bin indra/newview/cursors_mac/UI_CURSOR_SIZEWE.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLCAMERA.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLCREATE.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLFOCUS.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLGRAB.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLLAND.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLMEDIAOPEN.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLPAN.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLPAUSE.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLPICKOBJECT3.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLPLAY.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLROTATE.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLSCALE.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLTRANSLATE.tif | Bin indra/newview/cursors_mac/UI_CURSOR_TOOLZOOMIN.tif | Bin indra/newview/cursors_mac/UI_CURSOR_WORKING.tif | Bin indra/newview/da.lproj/language.txt | 0 indra/newview/es.lproj/language.txt | 0 indra/newview/featuretable.txt | 0 indra/newview/featuretable_linux.txt | 0 indra/newview/featuretable_mac.txt | 0 indra/newview/featuretable_solaris.txt | 0 indra/newview/fmod_hidden_symbols.exp | 0 indra/newview/fmodwrapper.cpp | 0 indra/newview/fonts/DejaVu-license.txt | 0 indra/newview/fonts/DejaVuSans-Bold.ttf | Bin indra/newview/fonts/DejaVuSans-BoldOblique.ttf | Bin indra/newview/fonts/DejaVuSans-Oblique.ttf | Bin indra/newview/fonts/DejaVuSans.ttf | Bin indra/newview/fonts/DejaVuSansMono.ttf | Bin indra/newview/fr.lproj/language.txt | 0 indra/newview/generate_breakpad_symbols.py | 0 indra/newview/gpu_table.txt | 0 indra/newview/hu.lproj/language.txt | 0 indra/newview/installers/darwin/dmg-cleanup.applescript | 0 .../installers/darwin/firstlook-dmg/Applications-alias.r | 0 indra/newview/installers/darwin/firstlook-dmg/_DS_Store | Bin .../installers/darwin/firstlook-dmg/_VolumeIcon.icns | Bin .../newview/installers/darwin/firstlook-dmg/background.jpg | Bin .../installers/darwin/fix_application_icon_position.sh | 0 .../darwin/publicnightly-dmg/Applications-alias.r | 0 indra/newview/installers/darwin/publicnightly-dmg/_DS_Store | Bin .../installers/darwin/publicnightly-dmg/_VolumeIcon.icns | Bin .../installers/darwin/publicnightly-dmg/background.jpg | Bin .../installers/darwin/release-dmg/Applications-alias.r | 0 indra/newview/installers/darwin/release-dmg/_DS_Store | Bin .../newview/installers/darwin/release-dmg/_VolumeIcon.icns | Bin indra/newview/installers/darwin/release-dmg/background.jpg | Bin .../darwin/releasecandidate-dmg/Applications-alias.r | 0 .../installers/darwin/releasecandidate-dmg/_DS_Store | Bin .../installers/darwin/releasecandidate-dmg/_VolumeIcon.icns | Bin .../installers/darwin/releasecandidate-dmg/background.jpg | Bin .../installers/windows/FILES_ARE_UNICODE_UTF-16LE.txt | 0 indra/newview/installers/windows/install_icon.BMP | Bin indra/newview/installers/windows/install_icon.ico | Bin indra/newview/installers/windows/installer_template.nsi | 0 indra/newview/installers/windows/lang_da.nsi | Bin indra/newview/installers/windows/lang_de.nsi | Bin indra/newview/installers/windows/lang_en-us.nsi | Bin indra/newview/installers/windows/lang_es.nsi | Bin indra/newview/installers/windows/lang_fr.nsi | Bin indra/newview/installers/windows/lang_it.nsi | Bin indra/newview/installers/windows/lang_ja.nsi | Bin indra/newview/installers/windows/lang_ko.nsi | Bin indra/newview/installers/windows/lang_nl.nsi | Bin indra/newview/installers/windows/lang_pl.nsi | Bin indra/newview/installers/windows/lang_pt-br.nsi | Bin indra/newview/installers/windows/lang_zh.nsi | Bin indra/newview/installers/windows/language_menu.nsi | Bin indra/newview/installers/windows/uninstall_icon.BMP | Bin indra/newview/installers/windows/uninstall_icon.ico | Bin indra/newview/it.lproj/language.txt | 0 indra/newview/licenses-linux.txt | 0 indra/newview/licenses-mac.txt | 0 indra/newview/licenses-solaris.txt | 0 indra/newview/licenses-win32.txt | 0 indra/newview/linux_tools/client-readme-joystick.txt | 0 indra/newview/linux_tools/client-readme-voice.txt | 0 indra/newview/linux_tools/client-readme.txt | 0 indra/newview/llagent.cpp | 0 indra/newview/llagent.h | 0 indra/newview/llagentaccess.cpp | 0 indra/newview/llagentaccess.h | 0 indra/newview/llagentcamera.cpp | 0 indra/newview/llagentcamera.h | 0 indra/newview/llagentdata.cpp | 0 indra/newview/llagentdata.h | 0 indra/newview/llagentlanguage.cpp | 0 indra/newview/llagentlanguage.h | 0 indra/newview/llagentlistener.cpp | 0 indra/newview/llagentlistener.h | 0 indra/newview/llagentpicksinfo.cpp | 0 indra/newview/llagentpicksinfo.h | 0 indra/newview/llagentpilot.cpp | 0 indra/newview/llagentpilot.h | 0 indra/newview/llagentui.cpp | 0 indra/newview/llagentui.h | 0 indra/newview/llagentwearables.cpp | 0 indra/newview/llagentwearables.h | 0 indra/newview/llagentwearablesfetch.cpp | 0 indra/newview/llagentwearablesfetch.h | 0 indra/newview/llanimstatelabels.cpp | 0 indra/newview/llanimstatelabels.h | 0 indra/newview/llappearance.h | 0 indra/newview/llappearancemgr.cpp | 0 indra/newview/llappearancemgr.h | 0 indra/newview/llappviewer.cpp | 0 indra/newview/llappviewer.h | 0 indra/newview/llappviewerlinux.cpp | 0 indra/newview/llappviewerlinux.h | 0 indra/newview/llappviewerlinux_api.h | 0 indra/newview/llappviewerlinux_api.xml | 0 indra/newview/llappviewerlinux_api_dbus.cpp | 0 indra/newview/llappviewerlinux_api_dbus.h | 0 indra/newview/llappviewerlinux_api_dbus_syms_raw.inc | 0 indra/newview/llappviewerlistener.cpp | 0 indra/newview/llappviewerlistener.h | 0 indra/newview/llappviewermacosx.cpp | 0 indra/newview/llappviewermacosx.h | 0 indra/newview/llappviewerwin32.cpp | 0 indra/newview/llappviewerwin32.h | 0 indra/newview/llassetuploadqueue.cpp | 0 indra/newview/llassetuploadqueue.h | 0 indra/newview/llassetuploadresponders.cpp | 0 indra/newview/llassetuploadresponders.h | 0 indra/newview/llaudiosourcevo.cpp | 0 indra/newview/llaudiosourcevo.h | 0 indra/newview/llavataractions.cpp | 0 indra/newview/llavataractions.h | 0 indra/newview/llavatariconctrl.cpp | 0 indra/newview/llavatariconctrl.h | 0 indra/newview/llavatarlist.cpp | 0 indra/newview/llavatarlist.h | 0 indra/newview/llavatarlistitem.cpp | 0 indra/newview/llavatarlistitem.h | 0 indra/newview/llavatarpropertiesprocessor.cpp | 0 indra/newview/llavatarpropertiesprocessor.h | 0 indra/newview/llbottomtray.cpp | 0 indra/newview/llbottomtray.h | 0 indra/newview/llbox.cpp | 0 indra/newview/llbox.h | 0 indra/newview/llbreadcrumbview.cpp | 0 indra/newview/llbreadcrumbview.h | 0 indra/newview/llbuycurrencyhtml.cpp | 0 indra/newview/llbuycurrencyhtml.h | 0 indra/newview/llcallbacklist.cpp | 0 indra/newview/llcallbacklist.h | 0 indra/newview/llcallfloater.cpp | 0 indra/newview/llcallfloater.h | 0 indra/newview/llcallingcard.cpp | 0 indra/newview/llcallingcard.h | 0 indra/newview/llcapabilitylistener.cpp | 0 indra/newview/llcapabilitylistener.h | 0 indra/newview/llcapabilityprovider.h | 0 indra/newview/llcaphttpsender.cpp | 0 indra/newview/llcaphttpsender.h | 0 indra/newview/llchannelmanager.cpp | 0 indra/newview/llchannelmanager.h | 0 indra/newview/llchatbar.cpp | 0 indra/newview/llchatbar.h | 0 indra/newview/llchathistory.cpp | 0 indra/newview/llchathistory.h | 0 indra/newview/llchatitemscontainerctrl.cpp | 0 indra/newview/llchatitemscontainerctrl.h | 0 indra/newview/llchatmsgbox.cpp | 0 indra/newview/llchatmsgbox.h | 0 indra/newview/llchiclet.cpp | 0 indra/newview/llchiclet.h | 0 indra/newview/llclassifiedinfo.cpp | 0 indra/newview/llclassifiedinfo.h | 0 indra/newview/llclassifiedstatsresponder.cpp | 0 indra/newview/llclassifiedstatsresponder.h | 0 indra/newview/llcloud.cpp | 0 indra/newview/llcloud.h | 0 indra/newview/llcofwearables.cpp | 0 indra/newview/llcofwearables.h | 0 indra/newview/llcolorswatch.cpp | 0 indra/newview/llcolorswatch.h | 0 indra/newview/llcommanddispatcherlistener.cpp | 0 indra/newview/llcommanddispatcherlistener.h | 0 indra/newview/llcommandhandler.cpp | 0 indra/newview/llcommandhandler.h | 0 indra/newview/llcommandlineparser.cpp | 0 indra/newview/llcommandlineparser.h | 0 indra/newview/llcompilequeue.cpp | 0 indra/newview/llcompilequeue.h | 0 indra/newview/llconfirmationmanager.cpp | 0 indra/newview/llconfirmationmanager.h | 0 indra/newview/llcurrencyuimanager.cpp | 0 indra/newview/llcurrencyuimanager.h | 0 indra/newview/llcylinder.cpp | 0 indra/newview/llcylinder.h | 0 indra/newview/lldateutil.cpp | 0 indra/newview/lldateutil.h | 0 indra/newview/lldebugmessagebox.cpp | 0 indra/newview/lldebugmessagebox.h | 0 indra/newview/lldebugview.cpp | 0 indra/newview/lldebugview.h | 0 indra/newview/lldelayedgestureerror.cpp | 0 indra/newview/lldelayedgestureerror.h | 0 indra/newview/lldirpicker.cpp | 0 indra/newview/lldirpicker.h | 0 indra/newview/lldndbutton.cpp | 0 indra/newview/lldndbutton.h | 0 indra/newview/lldrawable.cpp | 0 indra/newview/lldrawable.h | 0 indra/newview/lldrawpool.cpp | 0 indra/newview/lldrawpool.h | 0 indra/newview/lldrawpoolalpha.cpp | 0 indra/newview/lldrawpoolalpha.h | 0 indra/newview/lldrawpoolavatar.cpp | 0 indra/newview/lldrawpoolavatar.h | 0 indra/newview/lldrawpoolbump.cpp | 0 indra/newview/lldrawpoolbump.h | 0 indra/newview/lldrawpoolclouds.cpp | 0 indra/newview/lldrawpoolclouds.h | 0 indra/newview/lldrawpoolground.cpp | 0 indra/newview/lldrawpoolground.h | 0 indra/newview/lldrawpoolsimple.cpp | 0 indra/newview/lldrawpoolsimple.h | 0 indra/newview/lldrawpoolsky.cpp | 0 indra/newview/lldrawpoolsky.h | 0 indra/newview/lldrawpoolterrain.cpp | 0 indra/newview/lldrawpoolterrain.h | 0 indra/newview/lldrawpooltree.cpp | 0 indra/newview/lldrawpooltree.h | 0 indra/newview/lldrawpoolwater.cpp | 0 indra/newview/lldrawpoolwater.h | 0 indra/newview/lldrawpoolwlsky.cpp | 0 indra/newview/lldrawpoolwlsky.h | 0 indra/newview/lldriverparam.cpp | 0 indra/newview/lldriverparam.h | 0 indra/newview/lldynamictexture.cpp | 0 indra/newview/lldynamictexture.h | 0 indra/newview/llemote.cpp | 0 indra/newview/llemote.h | 0 indra/newview/lleventinfo.cpp | 0 indra/newview/lleventinfo.h | 0 indra/newview/lleventnotifier.cpp | 0 indra/newview/lleventnotifier.h | 0 indra/newview/lleventpoll.cpp | 0 indra/newview/lleventpoll.h | 0 indra/newview/llexpandabletextbox.cpp | 0 indra/newview/llexpandabletextbox.h | 0 indra/newview/llface.cpp | 0 indra/newview/llface.h | 0 indra/newview/llface.inl | 0 indra/newview/llfasttimerview.cpp | 0 indra/newview/llfasttimerview.h | 0 indra/newview/llfavoritesbar.cpp | 0 indra/newview/llfavoritesbar.h | 0 indra/newview/llfeaturemanager.cpp | 0 indra/newview/llfeaturemanager.h | 0 indra/newview/llfilepicker.cpp | 0 indra/newview/llfilepicker.h | 0 indra/newview/llfilteredwearablelist.cpp | 0 indra/newview/llfilteredwearablelist.h | 0 indra/newview/llfirstuse.cpp | 0 indra/newview/llfirstuse.h | 0 indra/newview/llflexibleobject.cpp | 0 indra/newview/llflexibleobject.h | 0 indra/newview/llfloaterabout.cpp | 0 indra/newview/llfloaterabout.h | 0 indra/newview/llfloateranimpreview.cpp | 0 indra/newview/llfloateranimpreview.h | 0 indra/newview/llfloaterauction.cpp | 0 indra/newview/llfloaterauction.h | 0 indra/newview/llfloateravatarpicker.cpp | 0 indra/newview/llfloateravatarpicker.h | 0 indra/newview/llfloateravatartextures.cpp | 0 indra/newview/llfloateravatartextures.h | 0 indra/newview/llfloaterbeacons.cpp | 0 indra/newview/llfloaterbeacons.h | 0 indra/newview/llfloaterbuildoptions.cpp | 0 indra/newview/llfloaterbuildoptions.h | 0 indra/newview/llfloaterbulkpermission.cpp | 0 indra/newview/llfloaterbulkpermission.h | 0 indra/newview/llfloaterbump.cpp | 0 indra/newview/llfloaterbump.h | 0 indra/newview/llfloaterbuy.cpp | 0 indra/newview/llfloaterbuy.h | 0 indra/newview/llfloaterbuycontents.cpp | 0 indra/newview/llfloaterbuycontents.h | 0 indra/newview/llfloaterbuycurrency.cpp | 0 indra/newview/llfloaterbuycurrency.h | 0 indra/newview/llfloaterbuycurrencyhtml.cpp | 0 indra/newview/llfloaterbuycurrencyhtml.h | 0 indra/newview/llfloaterbuyland.cpp | 0 indra/newview/llfloaterbuyland.h | 0 indra/newview/llfloatercamera.cpp | 0 indra/newview/llfloatercamera.h | 0 indra/newview/llfloaterchat.cpp | 0 indra/newview/llfloaterchat.h | 0 indra/newview/llfloaterchatterbox.cpp | 0 indra/newview/llfloaterchatterbox.h | 0 indra/newview/llfloatercolorpicker.cpp | 0 indra/newview/llfloatercolorpicker.h | 0 indra/newview/llfloaterdaycycle.cpp | 0 indra/newview/llfloaterdaycycle.h | 0 indra/newview/llfloaterenvsettings.cpp | 0 indra/newview/llfloaterenvsettings.h | 0 indra/newview/llfloaterevent.cpp | 0 indra/newview/llfloaterevent.h | 0 indra/newview/llfloaterfonttest.cpp | 0 indra/newview/llfloaterfonttest.h | 0 indra/newview/llfloaterfriends.cpp | 0 indra/newview/llfloaterfriends.h | 0 indra/newview/llfloatergesture.cpp | 0 indra/newview/llfloatergesture.h | 0 indra/newview/llfloatergodtools.cpp | 0 indra/newview/llfloatergodtools.h | 0 indra/newview/llfloatergroupinvite.cpp | 0 indra/newview/llfloatergroupinvite.h | 0 indra/newview/llfloatergroups.cpp | 0 indra/newview/llfloatergroups.h | 0 indra/newview/llfloaterhandler.cpp | 0 indra/newview/llfloaterhandler.h | 0 indra/newview/llfloaterhardwaresettings.cpp | 0 indra/newview/llfloaterhardwaresettings.h | 0 indra/newview/llfloaterhelpbrowser.cpp | 0 indra/newview/llfloaterhelpbrowser.h | 0 indra/newview/llfloaterhud.cpp | 0 indra/newview/llfloaterhud.h | 0 indra/newview/llfloaterimagepreview.cpp | 0 indra/newview/llfloaterimagepreview.h | 0 indra/newview/llfloaterimportcollada.cpp | 0 indra/newview/llfloaterimportcollada.h | 0 indra/newview/llfloaterinspect.cpp | 0 indra/newview/llfloaterinspect.h | 0 indra/newview/llfloaterinventory.cpp | 0 indra/newview/llfloaterinventory.h | 0 indra/newview/llfloaterjoystick.cpp | 0 indra/newview/llfloaterjoystick.h | 0 indra/newview/llfloaterlagmeter.cpp | 0 indra/newview/llfloaterlagmeter.h | 0 indra/newview/llfloaterland.cpp | 0 indra/newview/llfloaterland.h | 0 indra/newview/llfloaterlandholdings.cpp | 0 indra/newview/llfloaterlandholdings.h | 0 indra/newview/llfloatermap.cpp | 0 indra/newview/llfloatermap.h | 0 indra/newview/llfloatermediabrowser.cpp | 0 indra/newview/llfloatermediabrowser.h | 0 indra/newview/llfloatermediasettings.cpp | 0 indra/newview/llfloatermediasettings.h | 0 indra/newview/llfloatermemleak.cpp | 0 indra/newview/llfloatermemleak.h | 0 indra/newview/llfloatermodelpreview.cpp | 0 indra/newview/llfloatermodelpreview.h | 0 indra/newview/llfloaternamedesc.cpp | 0 indra/newview/llfloaternamedesc.h | 0 indra/newview/llfloaternotificationsconsole.cpp | 0 indra/newview/llfloaternotificationsconsole.h | 0 indra/newview/llfloateropenobject.cpp | 0 indra/newview/llfloateropenobject.h | 0 indra/newview/llfloaterpay.cpp | 0 indra/newview/llfloaterpay.h | 0 indra/newview/llfloaterperms.cpp | 0 indra/newview/llfloaterperms.h | 0 indra/newview/llfloaterpostcard.cpp | 0 indra/newview/llfloaterpostcard.h | 0 indra/newview/llfloaterpostprocess.cpp | 0 indra/newview/llfloaterpostprocess.h | 0 indra/newview/llfloaterpreference.cpp | 0 indra/newview/llfloaterpreference.h | 0 indra/newview/llfloaterproperties.cpp | 0 indra/newview/llfloaterproperties.h | 0 indra/newview/llfloaterregioninfo.cpp | 0 indra/newview/llfloaterregioninfo.h | 0 indra/newview/llfloaterreporter.cpp | 0 indra/newview/llfloaterreporter.h | 0 indra/newview/llfloaterscriptdebug.cpp | 0 indra/newview/llfloaterscriptdebug.h | 0 indra/newview/llfloaterscriptlimits.cpp | 0 indra/newview/llfloaterscriptlimits.h | 0 indra/newview/llfloatersearch.cpp | 0 indra/newview/llfloatersearch.h | 0 indra/newview/llfloatersellland.cpp | 0 indra/newview/llfloatersellland.h | 0 indra/newview/llfloatersettingsdebug.cpp | 0 indra/newview/llfloatersettingsdebug.h | 0 indra/newview/llfloatersnapshot.cpp | 0 indra/newview/llfloatersnapshot.h | 0 indra/newview/llfloatertelehub.cpp | 0 indra/newview/llfloatertelehub.h | 0 indra/newview/llfloatertestinspectors.cpp | 0 indra/newview/llfloatertestinspectors.h | 0 indra/newview/llfloatertestlistview.cpp | 0 indra/newview/llfloatertestlistview.h | 0 indra/newview/llfloatertools.cpp | 0 indra/newview/llfloatertools.h | 0 indra/newview/llfloatertopobjects.cpp | 0 indra/newview/llfloatertopobjects.h | 0 indra/newview/llfloatertos.cpp | 0 indra/newview/llfloatertos.h | 0 indra/newview/llfloateruipreview.cpp | 0 indra/newview/llfloateruipreview.h | 0 indra/newview/llfloaterurlentry.cpp | 0 indra/newview/llfloaterurlentry.h | 0 indra/newview/llfloatervoicedevicesettings.cpp | 0 indra/newview/llfloatervoicedevicesettings.h | 0 indra/newview/llfloatervoiceeffect.cpp | 0 indra/newview/llfloatervoiceeffect.h | 0 indra/newview/llfloaterwater.cpp | 0 indra/newview/llfloaterwater.h | 0 indra/newview/llfloaterwhitelistentry.cpp | 0 indra/newview/llfloaterwhitelistentry.h | 0 indra/newview/llfloaterwindlight.cpp | 0 indra/newview/llfloaterwindlight.h | 0 indra/newview/llfloaterwindowsize.cpp | 0 indra/newview/llfloaterwindowsize.h | 0 indra/newview/llfloaterworldmap.cpp | 0 indra/newview/llfloaterworldmap.h | 0 indra/newview/llfolderview.cpp | 0 indra/newview/llfolderview.h | 0 indra/newview/llfoldervieweventlistener.h | 0 indra/newview/llfolderviewitem.cpp | 0 indra/newview/llfolderviewitem.h | 0 indra/newview/llfollowcam.cpp | 0 indra/newview/llfollowcam.h | 0 indra/newview/llfriendcard.cpp | 0 indra/newview/llfriendcard.h | 0 indra/newview/llgesturemgr.cpp | 0 indra/newview/llgesturemgr.h | 0 indra/newview/llgiveinventory.cpp | 0 indra/newview/llgiveinventory.h | 0 indra/newview/llglsandbox.cpp | 0 indra/newview/llgroupactions.cpp | 0 indra/newview/llgroupactions.h | 0 indra/newview/llgroupiconctrl.cpp | 0 indra/newview/llgroupiconctrl.h | 0 indra/newview/llgrouplist.cpp | 0 indra/newview/llgrouplist.h | 0 indra/newview/llgroupmgr.cpp | 0 indra/newview/llgroupmgr.h | 0 indra/newview/llhomelocationresponder.cpp | 0 indra/newview/llhomelocationresponder.h | 0 indra/newview/llhudeffect.cpp | 0 indra/newview/llhudeffect.h | 0 indra/newview/llhudeffectbeam.cpp | 0 indra/newview/llhudeffectbeam.h | 0 indra/newview/llhudeffectlookat.cpp | 0 indra/newview/llhudeffectlookat.h | 0 indra/newview/llhudeffectpointat.cpp | 0 indra/newview/llhudeffectpointat.h | 0 indra/newview/llhudeffecttrail.cpp | 0 indra/newview/llhudeffecttrail.h | 0 indra/newview/llhudicon.cpp | 0 indra/newview/llhudicon.h | 0 indra/newview/llhudmanager.cpp | 0 indra/newview/llhudmanager.h | 0 indra/newview/llhudobject.cpp | 0 indra/newview/llhudobject.h | 0 indra/newview/llhudrender.cpp | 0 indra/newview/llhudrender.h | 0 indra/newview/llhudtext.cpp | 0 indra/newview/llhudtext.h | 0 indra/newview/llhudview.cpp | 0 indra/newview/llhudview.h | 0 indra/newview/llimfloater.cpp | 0 indra/newview/llimfloater.h | 0 indra/newview/llimfloatercontainer.cpp | 0 indra/newview/llimfloatercontainer.h | 0 indra/newview/llimhandler.cpp | 0 indra/newview/llimpanel.cpp | 0 indra/newview/llimpanel.h | 0 indra/newview/llimview.cpp | 0 indra/newview/llimview.h | 0 indra/newview/llinspect.cpp | 0 indra/newview/llinspect.h | 0 indra/newview/llinspectavatar.cpp | 0 indra/newview/llinspectavatar.h | 0 indra/newview/llinspectgroup.cpp | 0 indra/newview/llinspectgroup.h | 0 indra/newview/llinspectobject.cpp | 0 indra/newview/llinspectobject.h | 0 indra/newview/llinspectremoteobject.cpp | 0 indra/newview/llinspectremoteobject.h | 0 indra/newview/llinspecttoast.cpp | 0 indra/newview/llinspecttoast.h | 0 indra/newview/llinventoryactions.h | 0 indra/newview/llinventorybridge.cpp | 0 indra/newview/llinventorybridge.h | 0 indra/newview/llinventoryclipboard.cpp | 0 indra/newview/llinventoryclipboard.h | 0 indra/newview/llinventoryfilter.cpp | 0 indra/newview/llinventoryfilter.h | 0 indra/newview/llinventoryfunctions.cpp | 0 indra/newview/llinventoryfunctions.h | 0 indra/newview/llinventoryicon.cpp | 0 indra/newview/llinventoryicon.h | 0 indra/newview/llinventoryitemslist.cpp | 0 indra/newview/llinventoryitemslist.h | 0 indra/newview/llinventorylistitem.cpp | 0 indra/newview/llinventorylistitem.h | 0 indra/newview/llinventorymodel.cpp | 0 indra/newview/llinventorymodel.h | 0 indra/newview/llinventorymodelbackgroundfetch.cpp | 0 indra/newview/llinventorymodelbackgroundfetch.h | 0 indra/newview/llinventoryobserver.cpp | 0 indra/newview/llinventoryobserver.h | 0 indra/newview/llinventorypanel.cpp | 0 indra/newview/llinventorypanel.h | 0 indra/newview/lljoystickbutton.cpp | 0 indra/newview/lljoystickbutton.h | 0 indra/newview/lllandmarkactions.cpp | 0 indra/newview/lllandmarkactions.h | 0 indra/newview/lllandmarklist.cpp | 0 indra/newview/lllandmarklist.h | 0 indra/newview/lllightconstants.h | 0 indra/newview/lllistbrowser.cpp | 0 indra/newview/lllistbrowser.h | 0 indra/newview/lllistcontextmenu.cpp | 0 indra/newview/lllistcontextmenu.h | 0 indra/newview/lllistview.cpp | 0 indra/newview/lllistview.h | 0 indra/newview/lllocaltextureobject.cpp | 0 indra/newview/lllocaltextureobject.h | 0 indra/newview/lllocationhistory.cpp | 0 indra/newview/lllocationhistory.h | 0 indra/newview/lllocationinputctrl.cpp | 0 indra/newview/lllocationinputctrl.h | 0 indra/newview/lllogchat.cpp | 0 indra/newview/lllogchat.h | 0 indra/newview/llloginhandler.cpp | 0 indra/newview/llloginhandler.h | 0 indra/newview/lllogininstance.cpp | 0 indra/newview/lllogininstance.h | 0 indra/newview/lllookshistorypanel.h | 0 indra/newview/llmachineid.cpp | 0 indra/newview/llmachineid.h | 0 indra/newview/llmanip.cpp | 0 indra/newview/llmanip.h | 0 indra/newview/llmaniprotate.cpp | 0 indra/newview/llmaniprotate.h | 0 indra/newview/llmanipscale.cpp | 0 indra/newview/llmanipscale.h | 0 indra/newview/llmaniptranslate.cpp | 0 indra/newview/llmaniptranslate.h | 0 indra/newview/llmediactrl.cpp | 0 indra/newview/llmediactrl.h | 0 indra/newview/llmediadataclient.cpp | 0 indra/newview/llmediadataclient.h | 0 indra/newview/llmemoryview.cpp | 0 indra/newview/llmemoryview.h | 0 indra/newview/llmenucommands.cpp | 0 indra/newview/llmenucommands.h | 0 indra/newview/llmeshreduction.cpp | 0 indra/newview/llmeshreduction.h | 0 indra/newview/llmeshrepository.cpp | 0 indra/newview/llmeshrepository.h | 0 indra/newview/llmetricperformancetester.cpp | 0 indra/newview/llmetricperformancetester.h | 0 indra/newview/llmimetypes.cpp | 0 indra/newview/llmimetypes.h | 0 indra/newview/llmorphview.cpp | 0 indra/newview/llmorphview.h | 0 indra/newview/llmoveview.cpp | 0 indra/newview/llmoveview.h | 0 indra/newview/llmutelist.cpp | 0 indra/newview/llmutelist.h | 0 indra/newview/llnamebox.cpp | 0 indra/newview/llnamebox.h | 0 indra/newview/llnameeditor.cpp | 0 indra/newview/llnameeditor.h | 0 indra/newview/llnamelistctrl.cpp | 0 indra/newview/llnamelistctrl.h | 0 indra/newview/llnavigationbar.cpp | 0 indra/newview/llnavigationbar.h | 0 indra/newview/llnearbychat.cpp | 0 indra/newview/llnearbychat.h | 0 indra/newview/llnearbychatbar.cpp | 0 indra/newview/llnearbychatbar.h | 0 indra/newview/llnearbychathandler.cpp | 0 indra/newview/llnearbychathandler.h | 0 indra/newview/llnetmap.cpp | 0 indra/newview/llnetmap.h | 0 indra/newview/llnotificationalerthandler.cpp | 0 indra/newview/llnotificationgrouphandler.cpp | 0 indra/newview/llnotificationhandler.h | 0 indra/newview/llnotificationhandlerutil.cpp | 0 indra/newview/llnotificationmanager.cpp | 0 indra/newview/llnotificationmanager.h | 0 indra/newview/llnotificationofferhandler.cpp | 0 indra/newview/llnotificationscripthandler.cpp | 0 indra/newview/llnotificationstorage.cpp | 0 indra/newview/llnotificationstorage.h | 0 indra/newview/llnotificationtiphandler.cpp | 0 indra/newview/lloutfitobserver.cpp | 0 indra/newview/lloutfitobserver.h | 0 indra/newview/lloutfitslist.cpp | 0 indra/newview/lloutfitslist.h | 0 indra/newview/lloutputmonitorctrl.cpp | 0 indra/newview/lloutputmonitorctrl.h | 0 indra/newview/lloverlaybar.cpp | 0 indra/newview/lloverlaybar.h | 0 indra/newview/llpanelappearancetab.h | 0 indra/newview/llpanelavatar.cpp | 0 indra/newview/llpanelavatar.h | 0 indra/newview/llpanelavatartag.cpp | 0 indra/newview/llpanelavatartag.h | 0 indra/newview/llpanelblockedlist.cpp | 0 indra/newview/llpanelblockedlist.h | 0 indra/newview/llpanelclassified.cpp | 0 indra/newview/llpanelclassified.h | 0 indra/newview/llpanelcontents.cpp | 0 indra/newview/llpanelcontents.h | 0 indra/newview/llpaneleditwearable.cpp | 0 indra/newview/llpaneleditwearable.h | 0 indra/newview/llpanelface.cpp | 0 indra/newview/llpanelface.h | 0 indra/newview/llpanelgenerictip.cpp | 0 indra/newview/llpanelgenerictip.h | 0 indra/newview/llpanelgroup.cpp | 0 indra/newview/llpanelgroup.h | 0 indra/newview/llpanelgroupgeneral.cpp | 0 indra/newview/llpanelgroupgeneral.h | 0 indra/newview/llpanelgroupinvite.cpp | 0 indra/newview/llpanelgroupinvite.h | 0 indra/newview/llpanelgrouplandmoney.cpp | 0 indra/newview/llpanelgrouplandmoney.h | 0 indra/newview/llpanelgroupnotices.cpp | 0 indra/newview/llpanelgroupnotices.h | 0 indra/newview/llpanelgrouproles.cpp | 0 indra/newview/llpanelgrouproles.h | 0 indra/newview/llpanelhome.cpp | 0 indra/newview/llpanelhome.h | 0 indra/newview/llpanelimcontrolpanel.cpp | 0 indra/newview/llpanelimcontrolpanel.h | 0 indra/newview/llpanelland.cpp | 0 indra/newview/llpanelland.h | 0 indra/newview/llpanellandaudio.cpp | 0 indra/newview/llpanellandaudio.h | 0 indra/newview/llpanellandmarkinfo.cpp | 0 indra/newview/llpanellandmarkinfo.h | 0 indra/newview/llpanellandmarks.cpp | 0 indra/newview/llpanellandmarks.h | 0 indra/newview/llpanellandmedia.cpp | 0 indra/newview/llpanellandmedia.h | 0 indra/newview/llpanellogin.cpp | 0 indra/newview/llpanellogin.h | 0 indra/newview/llpanelloginlistener.cpp | 0 indra/newview/llpanelloginlistener.h | 0 indra/newview/llpanelmaininventory.cpp | 0 indra/newview/llpanelmaininventory.h | 0 indra/newview/llpanelme.cpp | 0 indra/newview/llpanelme.h | 0 indra/newview/llpanelmediasettingsgeneral.cpp | 0 indra/newview/llpanelmediasettingsgeneral.h | 0 indra/newview/llpanelmediasettingspermissions.cpp | 0 indra/newview/llpanelmediasettingspermissions.h | 0 indra/newview/llpanelmediasettingssecurity.cpp | 0 indra/newview/llpanelmediasettingssecurity.h | 0 indra/newview/llpanelnearbymedia.cpp | 0 indra/newview/llpanelnearbymedia.h | 0 indra/newview/llpanelobject.cpp | 0 indra/newview/llpanelobject.h | 0 indra/newview/llpanelobjectinventory.cpp | 0 indra/newview/llpanelobjectinventory.h | 0 indra/newview/llpanelonlinestatus.cpp | 0 indra/newview/llpanelonlinestatus.h | 0 indra/newview/llpaneloutfitedit.cpp | 0 indra/newview/llpaneloutfitedit.h | 0 indra/newview/llpaneloutfitsinventory.cpp | 0 indra/newview/llpaneloutfitsinventory.h | 0 indra/newview/llpanelpeople.cpp | 0 indra/newview/llpanelpeople.h | 0 indra/newview/llpanelpeoplemenus.cpp | 0 indra/newview/llpanelpeoplemenus.h | 0 indra/newview/llpanelpermissions.cpp | 0 indra/newview/llpanelpermissions.h | 0 indra/newview/llpanelpick.cpp | 0 indra/newview/llpanelpick.h | 0 indra/newview/llpanelpicks.cpp | 0 indra/newview/llpanelpicks.h | 0 indra/newview/llpanelplaceinfo.cpp | 0 indra/newview/llpanelplaceinfo.h | 0 indra/newview/llpanelplaceprofile.cpp | 0 indra/newview/llpanelplaceprofile.h | 0 indra/newview/llpanelplaces.cpp | 0 indra/newview/llpanelplaces.h | 0 indra/newview/llpanelplacestab.cpp | 0 indra/newview/llpanelplacestab.h | 0 indra/newview/llpanelprimmediacontrols.cpp | 0 indra/newview/llpanelprimmediacontrols.h | 0 indra/newview/llpanelprofile.cpp | 0 indra/newview/llpanelprofile.h | 0 indra/newview/llpanelprofileview.cpp | 0 indra/newview/llpanelprofileview.h | 0 indra/newview/llpanelteleporthistory.cpp | 0 indra/newview/llpanelteleporthistory.h | 0 indra/newview/llpaneltiptoast.cpp | 0 indra/newview/llpaneltiptoast.h | 0 indra/newview/llpaneltopinfobar.cpp | 0 indra/newview/llpaneltopinfobar.h | 0 indra/newview/llpanelvoiceeffect.cpp | 0 indra/newview/llpanelvoiceeffect.h | 0 indra/newview/llpanelvolume.cpp | 0 indra/newview/llpanelvolume.h | 0 indra/newview/llpanelvolumepulldown.cpp | 0 indra/newview/llpanelvolumepulldown.h | 0 indra/newview/llpanelwearing.cpp | 0 indra/newview/llpanelwearing.h | 0 indra/newview/llparcelselection.cpp | 0 indra/newview/llparcelselection.h | 0 indra/newview/llparticipantlist.cpp | 0 indra/newview/llparticipantlist.h | 0 indra/newview/llpatchvertexarray.cpp | 0 indra/newview/llpatchvertexarray.h | 0 indra/newview/llplacesinventorybridge.cpp | 0 indra/newview/llplacesinventorybridge.h | 0 indra/newview/llplacesinventorypanel.cpp | 0 indra/newview/llplacesinventorypanel.h | 0 indra/newview/llpolymesh.cpp | 0 indra/newview/llpolymesh.h | 0 indra/newview/llpolymorph.cpp | 0 indra/newview/llpolymorph.h | 0 indra/newview/llpopupview.cpp | 0 indra/newview/llpopupview.h | 0 indra/newview/llpreview.cpp | 0 indra/newview/llpreview.h | 0 indra/newview/llpreviewanim.cpp | 0 indra/newview/llpreviewanim.h | 0 indra/newview/llpreviewgesture.cpp | 0 indra/newview/llpreviewgesture.h | 0 indra/newview/llpreviewnotecard.cpp | 0 indra/newview/llpreviewnotecard.h | 0 indra/newview/llpreviewscript.cpp | 0 indra/newview/llpreviewscript.h | 0 indra/newview/llpreviewsound.cpp | 0 indra/newview/llpreviewsound.h | 0 indra/newview/llpreviewtexture.cpp | 0 indra/newview/llpreviewtexture.h | 0 indra/newview/llproductinforequest.cpp | 0 indra/newview/llproductinforequest.h | 0 indra/newview/llprogressview.cpp | 0 indra/newview/llprogressview.h | 0 indra/newview/llrecentpeople.cpp | 0 indra/newview/llrecentpeople.h | 0 indra/newview/llregionposition.cpp | 0 indra/newview/llregionposition.h | 0 indra/newview/llremoteparcelrequest.cpp | 0 indra/newview/llremoteparcelrequest.h | 0 indra/newview/llresourcedata.h | 0 indra/newview/llrootview.h | 0 indra/newview/llsavedsettingsglue.cpp | 0 indra/newview/llsavedsettingsglue.h | 0 indra/newview/llsaveoutfitcombobtn.cpp | 0 indra/newview/llsaveoutfitcombobtn.h | 0 indra/newview/llscreenchannel.cpp | 0 indra/newview/llscreenchannel.h | 0 indra/newview/llscriptfloater.cpp | 0 indra/newview/llscriptfloater.h | 0 indra/newview/llscrollingpanelparam.cpp | 0 indra/newview/llscrollingpanelparam.h | 0 indra/newview/llsearchcombobox.cpp | 0 indra/newview/llsearchcombobox.h | 0 indra/newview/llsearchhistory.cpp | 0 indra/newview/llsearchhistory.h | 0 indra/newview/llsecapi.cpp | 0 indra/newview/llsecapi.h | 0 indra/newview/llsechandler_basic.cpp | 0 indra/newview/llsechandler_basic.h | 0 indra/newview/llselectmgr.cpp | 0 indra/newview/llselectmgr.h | 0 indra/newview/llsidepanelappearance.cpp | 0 indra/newview/llsidepanelappearance.h | 0 indra/newview/llsidepanelinventory.cpp | 0 indra/newview/llsidepanelinventory.h | 0 indra/newview/llsidepanelinventorysubpanel.cpp | 0 indra/newview/llsidepanelinventorysubpanel.h | 0 indra/newview/llsidepaneliteminfo.cpp | 0 indra/newview/llsidepaneliteminfo.h | 0 indra/newview/llsidepaneltaskinfo.cpp | 0 indra/newview/llsidepaneltaskinfo.h | 0 indra/newview/llsidetray.cpp | 0 indra/newview/llsidetray.h | 0 indra/newview/llsidetraypanelcontainer.cpp | 0 indra/newview/llsidetraypanelcontainer.h | 0 indra/newview/llsky.cpp | 0 indra/newview/llsky.h | 0 indra/newview/llslurl.cpp | 0 indra/newview/llslurl.h | 0 indra/newview/llspatialpartition.cpp | 0 indra/newview/llspatialpartition.h | 0 indra/newview/llspeakbutton.cpp | 0 indra/newview/llspeakbutton.h | 0 indra/newview/llspeakers.cpp | 0 indra/newview/llspeakers.h | 0 indra/newview/llspeakingindicatormanager.cpp | 0 indra/newview/llspeakingindicatormanager.h | 0 indra/newview/llsplitbutton.cpp | 0 indra/newview/llsplitbutton.h | 0 indra/newview/llsprite.cpp | 0 indra/newview/llsprite.h | 0 indra/newview/llsrv.cpp | 0 indra/newview/llsrv.h | 0 indra/newview/llstartup.cpp | 0 indra/newview/llstartup.h | 0 indra/newview/llstartuplistener.cpp | 0 indra/newview/llstartuplistener.h | 0 indra/newview/llstatusbar.cpp | 0 indra/newview/llstatusbar.h | 0 indra/newview/llstylemap.cpp | 0 indra/newview/llstylemap.h | 0 indra/newview/llsurface.cpp | 0 indra/newview/llsurface.h | 0 indra/newview/llsurfacepatch.cpp | 0 indra/newview/llsurfacepatch.h | 0 indra/newview/llsyswellitem.cpp | 0 indra/newview/llsyswellitem.h | 0 indra/newview/llsyswellwindow.cpp | 0 indra/newview/llsyswellwindow.h | 0 indra/newview/lltable.h | 0 indra/newview/llteleporthistory.cpp | 0 indra/newview/llteleporthistory.h | 0 indra/newview/llteleporthistorystorage.cpp | 0 indra/newview/llteleporthistorystorage.h | 0 indra/newview/lltexglobalcolor.cpp | 0 indra/newview/lltexglobalcolor.h | 0 indra/newview/lltexlayer.cpp | 0 indra/newview/lltexlayer.h | 0 indra/newview/lltexlayerparams.cpp | 0 indra/newview/lltexlayerparams.h | 0 indra/newview/lltextureatlas.cpp | 0 indra/newview/lltextureatlas.h | 0 indra/newview/lltextureatlasmanager.cpp | 0 indra/newview/lltextureatlasmanager.h | 0 indra/newview/lltexturecache.cpp | 0 indra/newview/lltexturecache.h | 0 indra/newview/lltexturectrl.cpp | 0 indra/newview/lltexturectrl.h | 0 indra/newview/lltexturefetch.cpp | 0 indra/newview/lltexturefetch.h | 0 indra/newview/lltextureinfo.cpp | 0 indra/newview/lltextureinfo.h | 0 indra/newview/lltextureinfodetails.cpp | 0 indra/newview/lltextureinfodetails.h | 0 indra/newview/lltexturestats.cpp | 0 indra/newview/lltexturestats.h | 0 indra/newview/lltexturestatsuploader.cpp | 0 indra/newview/lltexturestatsuploader.h | 0 indra/newview/lltextureview.cpp | 0 indra/newview/lltextureview.h | 0 indra/newview/lltoast.cpp | 0 indra/newview/lltoast.h | 0 indra/newview/lltoastalertpanel.cpp | 0 indra/newview/lltoastalertpanel.h | 0 indra/newview/lltoastgroupnotifypanel.cpp | 0 indra/newview/lltoastgroupnotifypanel.h | 0 indra/newview/lltoastimpanel.cpp | 0 indra/newview/lltoastimpanel.h | 0 indra/newview/lltoastnotifypanel.cpp | 0 indra/newview/lltoastnotifypanel.h | 0 indra/newview/lltoastpanel.cpp | 0 indra/newview/lltoastpanel.h | 0 indra/newview/lltool.cpp | 0 indra/newview/lltool.h | 0 indra/newview/lltoolbar.cpp | 0 indra/newview/lltoolbar.h | 0 indra/newview/lltoolbrush.cpp | 0 indra/newview/lltoolbrush.h | 0 indra/newview/lltoolcomp.cpp | 0 indra/newview/lltoolcomp.h | 0 indra/newview/lltooldraganddrop.cpp | 0 indra/newview/lltooldraganddrop.h | 0 indra/newview/lltoolface.cpp | 0 indra/newview/lltoolface.h | 0 indra/newview/lltoolfocus.cpp | 0 indra/newview/lltoolfocus.h | 0 indra/newview/lltoolgrab.cpp | 0 indra/newview/lltoolgrab.h | 0 indra/newview/lltoolgun.cpp | 0 indra/newview/lltoolgun.h | 0 indra/newview/lltoolindividual.cpp | 0 indra/newview/lltoolindividual.h | 0 indra/newview/lltoolmgr.cpp | 0 indra/newview/lltoolmgr.h | 0 indra/newview/lltoolmorph.cpp | 0 indra/newview/lltoolmorph.h | 0 indra/newview/lltoolobjpicker.cpp | 0 indra/newview/lltoolobjpicker.h | 0 indra/newview/lltoolpie.cpp | 0 indra/newview/lltoolpie.h | 0 indra/newview/lltoolpipette.cpp | 0 indra/newview/lltoolpipette.h | 0 indra/newview/lltoolplacer.cpp | 0 indra/newview/lltoolplacer.h | 0 indra/newview/lltoolselect.cpp | 0 indra/newview/lltoolselect.h | 0 indra/newview/lltoolselectland.cpp | 0 indra/newview/lltoolselectland.h | 0 indra/newview/lltoolselectrect.cpp | 0 indra/newview/lltoolselectrect.h | 0 indra/newview/lltoolview.cpp | 0 indra/newview/lltoolview.h | 0 indra/newview/lltracker.cpp | 0 indra/newview/lltracker.h | 0 indra/newview/lltransientdockablefloater.cpp | 0 indra/newview/lltransientdockablefloater.h | 0 indra/newview/lltransientfloatermgr.cpp | 0 indra/newview/lltransientfloatermgr.h | 0 indra/newview/lluiconstants.h | 0 indra/newview/lluilistener.cpp | 0 indra/newview/lluilistener.h | 0 indra/newview/lluploaddialog.cpp | 0 indra/newview/lluploaddialog.h | 0 indra/newview/llurl.cpp | 0 indra/newview/llurl.h | 0 indra/newview/llurldispatcher.cpp | 0 indra/newview/llurldispatcher.h | 0 indra/newview/llurldispatcherlistener.cpp | 0 indra/newview/llurldispatcherlistener.h | 0 indra/newview/llurlhistory.cpp | 0 indra/newview/llurlhistory.h | 0 indra/newview/llurllineeditorctrl.cpp | 0 indra/newview/llurllineeditorctrl.h | 0 indra/newview/llurlwhitelist.cpp | 0 indra/newview/llurlwhitelist.h | 0 indra/newview/llvectorperfoptions.cpp | 0 indra/newview/llvectorperfoptions.h | 0 indra/newview/llversioninfo.cpp | 0 indra/newview/llversioninfo.h | 0 indra/newview/llviewchildren.cpp | 0 indra/newview/llviewchildren.h | 0 indra/newview/llviewerassetstorage.cpp | 0 indra/newview/llviewerassetstorage.h | 0 indra/newview/llviewerassettype.cpp | 0 indra/newview/llviewerassettype.h | 0 indra/newview/llviewerattachmenu.cpp | 0 indra/newview/llviewerattachmenu.h | 0 indra/newview/llvieweraudio.cpp | 0 indra/newview/llvieweraudio.h | 0 indra/newview/llviewercamera.cpp | 0 indra/newview/llviewercamera.h | 0 indra/newview/llviewerchat.cpp | 0 indra/newview/llviewerchat.h | 0 indra/newview/llviewercontrol.cpp | 0 indra/newview/llviewercontrol.h | 0 indra/newview/llviewercontrollistener.cpp | 0 indra/newview/llviewercontrollistener.h | 0 indra/newview/llviewerdisplay.cpp | 0 indra/newview/llviewerdisplay.h | 0 indra/newview/llviewerfloaterreg.cpp | 0 indra/newview/llviewerfloaterreg.h | 0 indra/newview/llviewerfoldertype.cpp | 0 indra/newview/llviewerfoldertype.h | 0 indra/newview/llviewergenericmessage.cpp | 0 indra/newview/llviewergenericmessage.h | 0 indra/newview/llviewergesture.cpp | 0 indra/newview/llviewergesture.h | 0 indra/newview/llviewerhelp.cpp | 0 indra/newview/llviewerhelp.h | 0 indra/newview/llviewerhelputil.cpp | 0 indra/newview/llviewerhelputil.h | 0 indra/newview/llviewerhome.cpp | 0 indra/newview/llviewerhome.h | 0 indra/newview/llviewerinventory.cpp | 0 indra/newview/llviewerinventory.h | 0 indra/newview/llviewerjoint.cpp | 0 indra/newview/llviewerjoint.h | 0 indra/newview/llviewerjointattachment.cpp | 0 indra/newview/llviewerjointattachment.h | 0 indra/newview/llviewerjointmesh.cpp | 0 indra/newview/llviewerjointmesh.h | 0 indra/newview/llviewerjointmesh_sse.cpp | 0 indra/newview/llviewerjointmesh_sse2.cpp | 0 indra/newview/llviewerjointmesh_vec.cpp | 0 indra/newview/llviewerjoystick.cpp | 0 indra/newview/llviewerjoystick.h | 0 indra/newview/llviewerkeyboard.cpp | 0 indra/newview/llviewerkeyboard.h | 0 indra/newview/llviewerlayer.cpp | 0 indra/newview/llviewerlayer.h | 0 indra/newview/llviewermedia.cpp | 0 indra/newview/llviewermedia.h | 0 indra/newview/llviewermedia_streamingaudio.cpp | 0 indra/newview/llviewermedia_streamingaudio.h | 0 indra/newview/llviewermediafocus.cpp | 0 indra/newview/llviewermediafocus.h | 0 indra/newview/llviewermediaobserver.h | 0 indra/newview/llviewermenu.cpp | 0 indra/newview/llviewermenu.h | 0 indra/newview/llviewermenufile.cpp | 0 indra/newview/llviewermenufile.h | 0 indra/newview/llviewermessage.cpp | 0 indra/newview/llviewermessage.h | 0 indra/newview/llviewernetwork.cpp | 0 indra/newview/llviewernetwork.h | 0 indra/newview/llviewerobject.cpp | 0 indra/newview/llviewerobject.h | 0 indra/newview/llviewerobjectlist.cpp | 0 indra/newview/llviewerobjectlist.h | 0 indra/newview/llviewerparcelmedia.cpp | 0 indra/newview/llviewerparcelmedia.h | 0 indra/newview/llviewerparcelmediaautoplay.cpp | 0 indra/newview/llviewerparcelmediaautoplay.h | 0 indra/newview/llviewerparcelmgr.cpp | 0 indra/newview/llviewerparcelmgr.h | 0 indra/newview/llviewerparceloverlay.cpp | 0 indra/newview/llviewerparceloverlay.h | 0 indra/newview/llviewerpartsim.cpp | 0 indra/newview/llviewerpartsim.h | 0 indra/newview/llviewerpartsource.cpp | 0 indra/newview/llviewerpartsource.h | 0 indra/newview/llviewerprecompiledheaders.cpp | 0 indra/newview/llviewerprecompiledheaders.h | 0 indra/newview/llviewerregion.cpp | 0 indra/newview/llviewerregion.h | 0 indra/newview/llviewershadermgr.cpp | 0 indra/newview/llviewershadermgr.h | 0 indra/newview/llviewerstats.cpp | 0 indra/newview/llviewerstats.h | 0 indra/newview/llviewertexteditor.cpp | 0 indra/newview/llviewertexteditor.h | 0 indra/newview/llviewertexture.cpp | 0 indra/newview/llviewertexture.h | 0 indra/newview/llviewertextureanim.cpp | 0 indra/newview/llviewertextureanim.h | 0 indra/newview/llviewertexturelist.cpp | 0 indra/newview/llviewertexturelist.h | 0 indra/newview/llviewerthrottle.cpp | 0 indra/newview/llviewerthrottle.h | 0 indra/newview/llviewervisualparam.cpp | 0 indra/newview/llviewervisualparam.h | 0 indra/newview/llviewerwindow.cpp | 0 indra/newview/llviewerwindow.h | 0 indra/newview/llviewerwindowlistener.cpp | 0 indra/newview/llviewerwindowlistener.h | 0 indra/newview/llvlcomposition.cpp | 0 indra/newview/llvlcomposition.h | 0 indra/newview/llvlmanager.cpp | 0 indra/newview/llvlmanager.h | 0 indra/newview/llvoavatar.cpp | 0 indra/newview/llvoavatar.h | 0 indra/newview/llvoavatardefines.cpp | 0 indra/newview/llvoavatardefines.h | 0 indra/newview/llvoavatarself.cpp | 0 indra/newview/llvoavatarself.h | 0 indra/newview/llvocache.cpp | 0 indra/newview/llvocache.h | 0 indra/newview/llvoclouds.cpp | 0 indra/newview/llvoclouds.h | 0 indra/newview/llvograss.cpp | 0 indra/newview/llvograss.h | 0 indra/newview/llvoground.cpp | 0 indra/newview/llvoground.h | 0 indra/newview/llvoicechannel.cpp | 0 indra/newview/llvoicechannel.h | 0 indra/newview/llvoiceclient.cpp | 0 indra/newview/llvoiceclient.h | 0 indra/newview/llvoicevisualizer.cpp | 0 indra/newview/llvoicevisualizer.h | 0 indra/newview/llvoicevivox.cpp | 0 indra/newview/llvoicevivox.h | 0 indra/newview/llvoinventorylistener.cpp | 0 indra/newview/llvoinventorylistener.h | 0 indra/newview/llvopartgroup.cpp | 0 indra/newview/llvopartgroup.h | 0 indra/newview/llvosky.cpp | 0 indra/newview/llvosky.h | 0 indra/newview/llvosurfacepatch.cpp | 0 indra/newview/llvosurfacepatch.h | 0 indra/newview/llvotextbubble.cpp | 0 indra/newview/llvotextbubble.h | 0 indra/newview/llvotree.cpp | 0 indra/newview/llvotree.h | 0 indra/newview/llvotreenew.h | 0 indra/newview/llvovolume.cpp | 0 indra/newview/llvovolume.h | 0 indra/newview/llvowater.cpp | 0 indra/newview/llvowater.h | 0 indra/newview/llvowlsky.cpp | 0 indra/newview/llvowlsky.h | 0 indra/newview/llwatchdog.cpp | 0 indra/newview/llwatchdog.h | 0 indra/newview/llwaterparammanager.cpp | 0 indra/newview/llwaterparammanager.h | 0 indra/newview/llwaterparamset.cpp | 0 indra/newview/llwaterparamset.h | 0 indra/newview/llwearable.cpp | 0 indra/newview/llwearable.h | 0 indra/newview/llwearableitemslist.cpp | 0 indra/newview/llwearableitemslist.h | 0 indra/newview/llwearablelist.cpp | 0 indra/newview/llwearablelist.h | 0 indra/newview/llwearabletype.cpp | 0 indra/newview/llwearabletype.h | 0 indra/newview/llweb.cpp | 0 indra/newview/llweb.h | 0 indra/newview/llwebsharing.cpp | 0 indra/newview/llwebsharing.h | 0 indra/newview/llwind.cpp | 0 indra/newview/llwind.h | 0 indra/newview/llwindebug.cpp | 0 indra/newview/llwindebug.h | 0 indra/newview/llwlanimator.cpp | 0 indra/newview/llwlanimator.h | 0 indra/newview/llwldaycycle.cpp | 0 indra/newview/llwldaycycle.h | 0 indra/newview/llwlparammanager.cpp | 0 indra/newview/llwlparammanager.h | 0 indra/newview/llwlparamset.cpp | 0 indra/newview/llwlparamset.h | 0 indra/newview/llworld.cpp | 0 indra/newview/llworld.h | 0 indra/newview/llworldmap.cpp | 0 indra/newview/llworldmap.h | 0 indra/newview/llworldmapmessage.cpp | 0 indra/newview/llworldmapmessage.h | 0 indra/newview/llworldmapview.cpp | 0 indra/newview/llworldmapview.h | 0 indra/newview/llworldmipmap.cpp | 0 indra/newview/llworldmipmap.h | 0 indra/newview/llworldview.cpp | 0 indra/newview/llxmlrpclistener.cpp | 0 indra/newview/llxmlrpclistener.h | 0 indra/newview/llxmlrpctransaction.cpp | 0 indra/newview/llxmlrpctransaction.h | 0 indra/newview/macmain.h | 0 indra/newview/macutil_Prefix.h | 0 indra/newview/macview.r | 0 indra/newview/macview_Prefix.h | 0 indra/newview/nl.lproj/language.txt | 0 indra/newview/noise.cpp | 0 indra/newview/noise.h | 0 indra/newview/pipeline.cpp | 0 indra/newview/pipeline.h | 0 indra/newview/pl.lproj/language.txt | 0 indra/newview/pt.lproj/language.txt | 0 indra/newview/res-sdl/arrow.BMP | Bin indra/newview/res-sdl/arrowcop.BMP | Bin indra/newview/res-sdl/arrowcopmulti.BMP | Bin indra/newview/res-sdl/arrowdrag.BMP | Bin indra/newview/res-sdl/circleandline.BMP | Bin indra/newview/res-sdl/cross.BMP | Bin indra/newview/res-sdl/hand.BMP | Bin indra/newview/res-sdl/ibeam.BMP | Bin indra/newview/res-sdl/ll_icon.BMP | Bin indra/newview/res-sdl/llarrow.BMP | Bin indra/newview/res-sdl/llarrowdrag.BMP | Bin indra/newview/res-sdl/llarrowdragmulti.BMP | Bin indra/newview/res-sdl/llarrowlocked.BMP | Bin indra/newview/res-sdl/llgrablocked.BMP | Bin indra/newview/res-sdl/llno.BMP | Bin indra/newview/res-sdl/llnolocked.BMP | Bin indra/newview/res-sdl/lltoolcamera.BMP | Bin indra/newview/res-sdl/lltoolcreate.BMP | Bin indra/newview/res-sdl/lltoolfocus.BMP | Bin indra/newview/res-sdl/lltoolgrab.BMP | Bin indra/newview/res-sdl/lltoolland.BMP | Bin indra/newview/res-sdl/lltoolpan.BMP | Bin indra/newview/res-sdl/lltoolpipette.BMP | Bin indra/newview/res-sdl/lltoolrotate.BMP | Bin indra/newview/res-sdl/lltoolscale.BMP | Bin indra/newview/res-sdl/lltooltranslate.BMP | Bin indra/newview/res-sdl/lltoolzoomin.BMP | Bin indra/newview/res-sdl/lltoolzoomout.BMP | Bin indra/newview/res-sdl/sizenesw.BMP | Bin indra/newview/res-sdl/sizens.BMP | Bin indra/newview/res-sdl/sizenwse.BMP | Bin indra/newview/res-sdl/sizewe.BMP | Bin indra/newview/res-sdl/toolbuy.BMP | Bin indra/newview/res-sdl/toolmediaopen.BMP | Bin indra/newview/res-sdl/toolopen.BMP | Bin indra/newview/res-sdl/toolpause.BMP | Bin indra/newview/res-sdl/toolpickobject.BMP | Bin indra/newview/res-sdl/toolpickobject2.BMP | Bin indra/newview/res-sdl/toolpickobject3.BMP | Bin indra/newview/res-sdl/toolplay.BMP | Bin indra/newview/res-sdl/toolsit.BMP | Bin indra/newview/res-sdl/wait.BMP | Bin indra/newview/res-sdl/working.BMP | Bin indra/newview/res/arrow.cur | Bin indra/newview/res/arrowcop.cur | Bin indra/newview/res/arrowcopmulti.cur | Bin indra/newview/res/arrowdrag.cur | Bin indra/newview/res/bitmap2.bmp | Bin indra/newview/res/circleandline.cur | Bin indra/newview/res/have_artwork_bundle.marker | 0 indra/newview/res/icon1.ico | Bin indra/newview/res/install_icon.BMP | Bin indra/newview/res/ll_icon.BMP | Bin indra/newview/res/ll_icon.ico | Bin indra/newview/res/ll_icon.png | Bin indra/newview/res/llarrow.cur | Bin indra/newview/res/llarrowdrag.cur | Bin indra/newview/res/llarrowdragmulti.cur | Bin indra/newview/res/llarrowlocked.cur | Bin indra/newview/res/llgrablocked.cur | Bin indra/newview/res/llno.cur | Bin indra/newview/res/llnolocked.cur | Bin indra/newview/res/lltoolcamera.cur | Bin indra/newview/res/lltoolcreate.cur | Bin indra/newview/res/lltoolfocus.cur | Bin indra/newview/res/lltoolgrab.cur | Bin indra/newview/res/lltoolland.cur | Bin indra/newview/res/lltoolpan.cur | Bin indra/newview/res/lltoolpipette.cur | Bin indra/newview/res/lltoolrotate.cur | Bin indra/newview/res/lltoolscale.cur | Bin indra/newview/res/lltooltranslate.cur | Bin indra/newview/res/lltoolzoomin.cur | Bin indra/newview/res/lltoolzoomout.cur | Bin indra/newview/res/loginbackground.bmp | Bin indra/newview/res/resource.h | 0 indra/newview/res/toolbuy.cur | Bin indra/newview/res/toolmediaopen.cur | Bin indra/newview/res/toolopen.cur | Bin indra/newview/res/toolpause.cur | Bin indra/newview/res/toolpickobject.cur | Bin indra/newview/res/toolpickobject2.cur | Bin indra/newview/res/toolpickobject3.cur | Bin indra/newview/res/toolpipette.cur | Bin indra/newview/res/toolplay.cur | Bin indra/newview/res/toolsit.cur | Bin indra/newview/res/uninstall_icon.BMP | Bin indra/newview/res/viewerRes.rc | 0 indra/newview/ru.lproj/language.txt | 0 indra/newview/secondlife-i686.supp | 0 indra/newview/secondlife.icns | Bin indra/newview/secondlife_firstlook.icns | Bin indra/newview/skins/default/colors.xml | 0 indra/newview/skins/default/html/btn_purplepill_bg.png | Bin indra/newview/skins/default/html/da/loading/loading.html | 0 .../newview/skins/default/html/de/loading-error/index.html | 0 indra/newview/skins/default/html/de/loading/loading.html | 0 .../skins/default/html/en-us/help-offline/index.html | 0 .../skins/default/html/en-us/loading-error/index.html | 0 indra/newview/skins/default/html/en-us/loading/loading.html | 0 .../default/html/en-us/loading/sl_logo_rotate_black.gif | Bin .../newview/skins/default/html/es/loading-error/index.html | 0 indra/newview/skins/default/html/es/loading/loading.html | 0 .../newview/skins/default/html/fr/loading-error/index.html | 0 indra/newview/skins/default/html/fr/loading/loading.html | 0 indra/newview/skins/default/html/hu/loading/loading.html | 0 indra/newview/skins/default/html/it/loading/loading.html | 0 .../newview/skins/default/html/ja/loading-error/index.html | 0 indra/newview/skins/default/html/ja/loading/loading.html | 0 .../newview/skins/default/html/ko/loading-error/index.html | 0 indra/newview/skins/default/html/nl/loading/loading.html | 0 indra/newview/skins/default/html/pl/loading/loading.html | 0 .../newview/skins/default/html/pt/loading-error/index.html | 0 indra/newview/skins/default/html/pt/loading/loading.html | 0 indra/newview/skins/default/html/ru/loading/loading.html | 0 indra/newview/skins/default/html/tr/loading/loading.html | 0 indra/newview/skins/default/html/uk/loading/loading.html | 0 indra/newview/skins/default/html/unabletoconnect.png | Bin .../newview/skins/default/html/zh/loading-error/index.html | 0 indra/newview/skins/default/html/zh/loading/loading.html | 0 indra/newview/skins/default/textures/Blank.png | Bin indra/newview/skins/default/textures/alpha_gradient.tga | Bin indra/newview/skins/default/textures/alpha_gradient_2d.j2c | Bin indra/newview/skins/default/textures/arrow_down.tga | Bin indra/newview/skins/default/textures/arrow_up.tga | Bin .../newview/skins/default/textures/avatar_thumb_bkgrnd.png | Bin indra/newview/skins/default/textures/badge_note.j2c | Bin indra/newview/skins/default/textures/badge_ok.j2c | Bin indra/newview/skins/default/textures/badge_warn.j2c | Bin .../skins/default/textures/bottomtray/Cam_Avatar_Off.png | Bin .../skins/default/textures/bottomtray/Cam_FreeCam_Off.png | Bin .../skins/default/textures/bottomtray/Cam_Orbit_Off.png | Bin .../skins/default/textures/bottomtray/Cam_Pan_Off.png | Bin .../skins/default/textures/bottomtray/Cam_Pan_Over.png | Bin .../default/textures/bottomtray/Cam_Preset_Back_Off.png | Bin .../default/textures/bottomtray/Cam_Preset_Back_On.png | Bin .../default/textures/bottomtray/Cam_Preset_Eye_Off.png | Bin .../default/textures/bottomtray/Cam_Preset_Front_Off.png | Bin .../default/textures/bottomtray/Cam_Preset_Front_On.png | Bin .../default/textures/bottomtray/Cam_Preset_Side_Off.png | Bin .../default/textures/bottomtray/Cam_Preset_Side_On.png | Bin .../skins/default/textures/bottomtray/Cam_Rotate_In.png | Bin .../skins/default/textures/bottomtray/Cam_Rotate_Out.png | Bin .../skins/default/textures/bottomtray/Cam_Tracking_In.png | Bin .../skins/default/textures/bottomtray/Cam_Tracking_Out.png | Bin .../skins/default/textures/bottomtray/CameraView_Press.png | Bin .../newview/skins/default/textures/bottomtray/DownArrow.png | Bin .../default/textures/bottomtray/Mouselook_View_Off.png | Bin .../skins/default/textures/bottomtray/Mouselook_View_On.png | Bin .../skins/default/textures/bottomtray/Move_Fly_Off.png | Bin .../skins/default/textures/bottomtray/Move_Run_Off.png | Bin .../skins/default/textures/bottomtray/Move_Walk_Off.png | Bin .../default/textures/bottomtray/Movement_Backward_Off.png | Bin .../default/textures/bottomtray/Movement_Backward_On.png | Bin .../skins/default/textures/bottomtray/Movement_Down_Off.png | Bin .../skins/default/textures/bottomtray/Movement_Down_On.png | Bin .../default/textures/bottomtray/Movement_Forward_Off.png | Bin .../default/textures/bottomtray/Movement_Forward_On.png | Bin .../skins/default/textures/bottomtray/Movement_Left_Off.png | Bin .../skins/default/textures/bottomtray/Movement_Left_On.png | Bin .../default/textures/bottomtray/Movement_Right_Off.png | Bin .../skins/default/textures/bottomtray/Movement_Right_On.png | Bin .../default/textures/bottomtray/Movement_TurnLeft_Off.png | Bin .../default/textures/bottomtray/Movement_TurnLeft_On.png | Bin .../default/textures/bottomtray/Movement_TurnRight_Off.png | Bin .../default/textures/bottomtray/Movement_TurnRight_On.png | Bin .../skins/default/textures/bottomtray/Movement_Up_Off.png | Bin .../skins/default/textures/bottomtray/Movement_Up_On.png | Bin .../skins/default/textures/bottomtray/Notices_Unread.png | Bin .../skins/default/textures/bottomtray/Object_View_Off.png | Bin .../skins/default/textures/bottomtray/Object_View_On.png | Bin .../skins/default/textures/bottomtray/PanOrbit_Disabled.png | Bin .../skins/default/textures/bottomtray/PanOrbit_Off.png | Bin .../skins/default/textures/bottomtray/PanOrbit_Over.png | Bin .../skins/default/textures/bottomtray/PanOrbit_Press.png | Bin .../skins/default/textures/bottomtray/Snapshot_Off.png | Bin .../skins/default/textures/bottomtray/Unread_Chiclet.png | Bin .../newview/skins/default/textures/bottomtray/Unread_IM.png | Bin .../skins/default/textures/bottomtray/VoicePTT_Lvl1.png | Bin .../skins/default/textures/bottomtray/VoicePTT_Lvl2.png | Bin .../skins/default/textures/bottomtray/VoicePTT_Lvl3.png | Bin .../skins/default/textures/bottomtray/VoicePTT_Off.png | Bin .../skins/default/textures/bottomtray/VoicePTT_On.png | Bin .../skins/default/textures/bottomtray/WellButton_Lit.png | Bin .../default/textures/bottomtray/WellButton_Lit_Selected.png | Bin indra/newview/skins/default/textures/build/Object_Cone.png | Bin .../skins/default/textures/build/Object_Cone_Selected.png | Bin indra/newview/skins/default/textures/build/Object_Cube.png | Bin .../skins/default/textures/build/Object_Cube_Selected.png | Bin .../skins/default/textures/build/Object_Cylinder.png | Bin .../default/textures/build/Object_Cylinder_Selected.png | Bin indra/newview/skins/default/textures/build/Object_Grass.png | Bin .../skins/default/textures/build/Object_Grass_Selected.png | Bin .../skins/default/textures/build/Object_Hemi_Cone.png | Bin .../default/textures/build/Object_Hemi_Cone_Selected.png | Bin .../skins/default/textures/build/Object_Hemi_Cylinder.png | Bin .../textures/build/Object_Hemi_Cylinder_Selected.png | Bin .../skins/default/textures/build/Object_Hemi_Sphere.png | Bin .../default/textures/build/Object_Hemi_Sphere_Selected.png | Bin indra/newview/skins/default/textures/build/Object_Prism.png | Bin .../skins/default/textures/build/Object_Prism_Selected.png | Bin .../newview/skins/default/textures/build/Object_Pyramid.png | Bin .../default/textures/build/Object_Pyramid_Selected.png | Bin indra/newview/skins/default/textures/build/Object_Ring.png | Bin .../skins/default/textures/build/Object_Ring_Selected.png | Bin .../newview/skins/default/textures/build/Object_Sphere.png | Bin .../skins/default/textures/build/Object_Sphere_Selected.png | Bin .../skins/default/textures/build/Object_Tetrahedron.png | Bin .../default/textures/build/Object_Tetrahedron_Selected.png | Bin indra/newview/skins/default/textures/build/Object_Torus.png | Bin .../skins/default/textures/build/Object_Torus_Selected.png | Bin indra/newview/skins/default/textures/build/Object_Tree.png | Bin .../skins/default/textures/build/Object_Tree_Selected.png | Bin indra/newview/skins/default/textures/build/Object_Tube.png | Bin .../skins/default/textures/build/Object_Tube_Selected.png | Bin indra/newview/skins/default/textures/build/Tool_Create.png | Bin indra/newview/skins/default/textures/build/Tool_Dozer.png | Bin indra/newview/skins/default/textures/build/Tool_Face.png | Bin indra/newview/skins/default/textures/build/Tool_Grab.png | Bin indra/newview/skins/default/textures/build/Tool_Zoom.png | Bin indra/newview/skins/default/textures/button_anim_pause.tga | Bin .../skins/default/textures/button_anim_pause_selected.tga | Bin indra/newview/skins/default/textures/button_anim_play.tga | Bin .../skins/default/textures/button_anim_play_selected.tga | Bin .../skins/default/textures/checkerboard_transparency_bg.png | Bin indra/newview/skins/default/textures/circle.tga | Bin indra/newview/skins/default/textures/cloud-particle.j2c | Bin indra/newview/skins/default/textures/color_swatch_alpha.tga | Bin .../textures/containers/Accordion_ArrowClosed_Off.png | Bin .../textures/containers/Accordion_ArrowClosed_Over.png | Bin .../textures/containers/Accordion_ArrowClosed_Press.png | Bin .../textures/containers/Accordion_ArrowOpened_Off.png | Bin .../textures/containers/Accordion_ArrowOpened_Over.png | Bin .../textures/containers/Accordion_ArrowOpened_Press.png | Bin .../skins/default/textures/containers/Accordion_Off.png | Bin .../skins/default/textures/containers/Accordion_Over.png | Bin .../skins/default/textures/containers/Accordion_Press.png | Bin .../default/textures/containers/Accordion_Selected.png | Bin .../newview/skins/default/textures/containers/Container.png | Bin .../skins/default/textures/containers/TabTop_Left_Off.png | Bin .../skins/default/textures/containers/TabTop_Left_Over.png | Bin .../default/textures/containers/TabTop_Left_Selected.png | Bin .../skins/default/textures/containers/TabTop_Middle_Off.png | Bin .../default/textures/containers/TabTop_Middle_Over.png | Bin .../default/textures/containers/TabTop_Middle_Selected.png | Bin .../skins/default/textures/containers/TabTop_Right_Off.png | Bin .../skins/default/textures/containers/TabTop_Right_Over.png | Bin .../default/textures/containers/TabTop_Right_Selected.png | Bin .../default/textures/containers/Toolbar_Left_Flash.png | Bin .../skins/default/textures/containers/Toolbar_Left_Off.png | Bin .../skins/default/textures/containers/Toolbar_Left_Over.png | Bin .../default/textures/containers/Toolbar_Left_Selected.png | Bin .../default/textures/containers/Toolbar_Middle_Flash.png | Bin .../default/textures/containers/Toolbar_Middle_Off.png | Bin .../default/textures/containers/Toolbar_Middle_Over.png | Bin .../default/textures/containers/Toolbar_Middle_Selected.png | Bin .../default/textures/containers/Toolbar_Right_Flash.png | Bin .../skins/default/textures/containers/Toolbar_Right_Off.png | Bin .../default/textures/containers/Toolbar_Right_Over.png | Bin .../default/textures/containers/Toolbar_Right_Selected.png | Bin indra/newview/skins/default/textures/crosshairs.tga | Bin .../newview/skins/default/textures/default_land_picture.j2c | Bin .../skins/default/textures/default_profile_picture.j2c | Bin indra/newview/skins/default/textures/direction_arrow.tga | Bin indra/newview/skins/default/textures/down_arrow.png | Bin indra/newview/skins/default/textures/eye_button_active.tga | Bin .../newview/skins/default/textures/eye_button_inactive.tga | Bin indra/newview/skins/default/textures/ff_edit_mine.tga | Bin .../newview/skins/default/textures/ff_edit_mine_button.tga | Bin indra/newview/skins/default/textures/ff_edit_theirs.tga | Bin .../skins/default/textures/ff_edit_theirs_button.tga | Bin .../skins/default/textures/ff_online_status_button.tga | Bin indra/newview/skins/default/textures/ff_visible_map.tga | Bin .../skins/default/textures/ff_visible_map_button.tga | Bin indra/newview/skins/default/textures/ff_visible_online.tga | Bin .../skins/default/textures/ff_visible_online_button.tga | Bin indra/newview/skins/default/textures/folder_arrow.tga | Bin indra/newview/skins/default/textures/foot_shadow.j2c | Bin indra/newview/skins/default/textures/icn_label_web.tga | Bin indra/newview/skins/default/textures/icn_media.tga | Bin indra/newview/skins/default/textures/icn_media_movie.tga | Bin indra/newview/skins/default/textures/icn_media_web.tga | Bin .../newview/skins/default/textures/icn_voice-groupfocus.tga | Bin .../newview/skins/default/textures/icn_voice-localchat.tga | Bin indra/newview/skins/default/textures/icn_voice-pvtfocus.tga | Bin .../newview/skins/default/textures/icon_avatar_offline.tga | Bin indra/newview/skins/default/textures/icon_avatar_online.tga | Bin indra/newview/skins/default/textures/icon_day_cycle.tga | Bin indra/newview/skins/default/textures/icon_diurnal.tga | Bin indra/newview/skins/default/textures/icon_event_adult.tga | Bin .../newview/skins/default/textures/icon_for_sale_adult.tga | Bin indra/newview/skins/default/textures/icon_lock.tga | Bin indra/newview/skins/default/textures/icon_top_pick.tga | Bin .../skins/default/textures/icons/AddItem_Disabled.png | Bin indra/newview/skins/default/textures/icons/AddItem_Off.png | Bin indra/newview/skins/default/textures/icons/AddItem_Over.png | Bin .../newview/skins/default/textures/icons/AddItem_Press.png | Bin .../newview/skins/default/textures/icons/AudioMute_Off.png | Bin .../newview/skins/default/textures/icons/AudioMute_Over.png | Bin indra/newview/skins/default/textures/icons/Audio_Off.png | Bin indra/newview/skins/default/textures/icons/Audio_Press.png | Bin .../newview/skins/default/textures/icons/BackArrow_Off.png | Bin .../newview/skins/default/textures/icons/BackArrow_Over.png | Bin .../newview/skins/default/textures/icons/DownArrow_Off.png | Bin indra/newview/skins/default/textures/icons/DragHandle.png | Bin indra/newview/skins/default/textures/icons/Edit_Wrench.png | Bin .../skins/default/textures/icons/ExternalBrowser_Off.png | Bin indra/newview/skins/default/textures/icons/Female.png | Bin .../newview/skins/default/textures/icons/ForSale_Badge.png | Bin .../skins/default/textures/icons/ForwardArrow_Off.png | Bin .../skins/default/textures/icons/ForwardArrow_Press.png | Bin .../newview/skins/default/textures/icons/Generic_Group.png | Bin .../skins/default/textures/icons/Generic_Group_Large.png | Bin .../newview/skins/default/textures/icons/Generic_Object.png | Bin .../skins/default/textures/icons/Generic_Object_Small.png | Bin .../newview/skins/default/textures/icons/Generic_Person.png | Bin .../skins/default/textures/icons/Generic_Person_Large.png | Bin .../default/textures/icons/Hierarchy_View_Disabled.png | Bin .../skins/default/textures/icons/Hierarchy_View_On.png | Bin .../newview/skins/default/textures/icons/Icon_For_Sale.png | Bin indra/newview/skins/default/textures/icons/Info.png | Bin indra/newview/skins/default/textures/icons/Info_Over.png | Bin indra/newview/skins/default/textures/icons/Info_Small.png | Bin indra/newview/skins/default/textures/icons/Inv_Alpha.png | Bin .../newview/skins/default/textures/icons/Inv_Animation.png | Bin .../newview/skins/default/textures/icons/Inv_BodyShape.png | Bin .../skins/default/textures/icons/Inv_CallingCard.png | Bin indra/newview/skins/default/textures/icons/Inv_Clothing.png | Bin indra/newview/skins/default/textures/icons/Inv_Eye.png | Bin .../skins/default/textures/icons/Inv_FolderClosed.png | Bin .../newview/skins/default/textures/icons/Inv_FolderOpen.png | Bin indra/newview/skins/default/textures/icons/Inv_Gesture.png | Bin indra/newview/skins/default/textures/icons/Inv_Gloves.png | Bin indra/newview/skins/default/textures/icons/Inv_Hair.png | Bin indra/newview/skins/default/textures/icons/Inv_Jacket.png | Bin indra/newview/skins/default/textures/icons/Inv_Landmark.png | Bin indra/newview/skins/default/textures/icons/Inv_Link.png | Bin .../newview/skins/default/textures/icons/Inv_LinkFolder.png | Bin indra/newview/skins/default/textures/icons/Inv_LinkItem.png | Bin .../skins/default/textures/icons/Inv_LookFolderClosed.png | Bin .../skins/default/textures/icons/Inv_LookFolderOpen.png | Bin .../newview/skins/default/textures/icons/Inv_LostClosed.png | Bin indra/newview/skins/default/textures/icons/Inv_LostOpen.png | Bin indra/newview/skins/default/textures/icons/Inv_Notecard.png | Bin indra/newview/skins/default/textures/icons/Inv_Object.png | Bin .../skins/default/textures/icons/Inv_Object_Multi.png | Bin indra/newview/skins/default/textures/icons/Inv_Pants.png | Bin indra/newview/skins/default/textures/icons/Inv_Script.png | Bin indra/newview/skins/default/textures/icons/Inv_Shirt.png | Bin indra/newview/skins/default/textures/icons/Inv_Shoe.png | Bin indra/newview/skins/default/textures/icons/Inv_Skin.png | Bin indra/newview/skins/default/textures/icons/Inv_Skirt.png | Bin indra/newview/skins/default/textures/icons/Inv_Snapshot.png | Bin indra/newview/skins/default/textures/icons/Inv_Socks.png | Bin indra/newview/skins/default/textures/icons/Inv_Sound.png | Bin .../newview/skins/default/textures/icons/Inv_SysClosed.png | Bin indra/newview/skins/default/textures/icons/Inv_SysOpen.png | Bin indra/newview/skins/default/textures/icons/Inv_Tattoo.png | Bin indra/newview/skins/default/textures/icons/Inv_Texture.png | Bin .../skins/default/textures/icons/Inv_TrashClosed.png | Bin .../newview/skins/default/textures/icons/Inv_TrashOpen.png | Bin .../newview/skins/default/textures/icons/Inv_Underpants.png | Bin .../newview/skins/default/textures/icons/Inv_Undershirt.png | Bin .../skins/default/textures/icons/List_View_Disabled.png | Bin indra/newview/skins/default/textures/icons/List_View_On.png | Bin indra/newview/skins/default/textures/icons/Lock.png | Bin indra/newview/skins/default/textures/icons/Locked_Icon.png | Bin indra/newview/skins/default/textures/icons/Male.png | Bin .../newview/skins/default/textures/icons/Microphone_On.png | Bin .../skins/default/textures/icons/MinusItem_Disabled.png | Bin .../newview/skins/default/textures/icons/MinusItem_Off.png | Bin .../skins/default/textures/icons/MinusItem_Press.png | Bin .../skins/default/textures/icons/OptionsMenu_Disabled.png | Bin .../skins/default/textures/icons/OptionsMenu_Off.png | Bin .../skins/default/textures/icons/OptionsMenu_Over.png | Bin .../skins/default/textures/icons/OptionsMenu_Press.png | Bin .../skins/default/textures/icons/Parcel_BuildNo_Dark.png | Bin .../skins/default/textures/icons/Parcel_BuildNo_Light.png | Bin .../skins/default/textures/icons/Parcel_Build_Dark.png | Bin .../skins/default/textures/icons/Parcel_DamageNo_Dark.png | Bin .../skins/default/textures/icons/Parcel_Damage_Dark.png | Bin .../default/textures/icons/Parcel_Damage_Light_Alt.png | Bin .../skins/default/textures/icons/Parcel_Exp_Color.png | Bin .../skins/default/textures/icons/Parcel_FlyNo_Dark.png | Bin .../skins/default/textures/icons/Parcel_FlyNo_Light.png | Bin .../skins/default/textures/icons/Parcel_Fly_Dark.png | Bin .../skins/default/textures/icons/Parcel_ForSale_Light.png | Bin .../skins/default/textures/icons/Parcel_Health_Dark.png | Bin .../newview/skins/default/textures/icons/Parcel_M_Dark.png | Bin .../newview/skins/default/textures/icons/Parcel_M_Light.png | Bin .../skins/default/textures/icons/Parcel_NoScripts_Light.png | Bin .../newview/skins/default/textures/icons/Parcel_PG_Dark.png | Bin .../skins/default/textures/icons/Parcel_PG_Light.png | Bin .../skins/default/textures/icons/Parcel_PushNo_Dark.png | Bin .../skins/default/textures/icons/Parcel_PushNo_Light.png | Bin .../skins/default/textures/icons/Parcel_Push_Dark.png | Bin .../newview/skins/default/textures/icons/Parcel_R_Dark.png | Bin .../newview/skins/default/textures/icons/Parcel_R_Light.png | Bin .../skins/default/textures/icons/Parcel_ScriptsNo_Dark.png | Bin .../skins/default/textures/icons/Parcel_Scripts_Dark.png | Bin .../skins/default/textures/icons/Parcel_VoiceNo_Dark.png | Bin .../skins/default/textures/icons/Parcel_VoiceNo_Light.png | Bin .../skins/default/textures/icons/Parcel_Voice_Dark.png | Bin .../skins/default/textures/icons/Parcel_Voice_Light.png | Bin indra/newview/skins/default/textures/icons/Pause_Off.png | Bin indra/newview/skins/default/textures/icons/Pause_Over.png | Bin indra/newview/skins/default/textures/icons/Pause_Press.png | Bin indra/newview/skins/default/textures/icons/Play_Off.png | Bin indra/newview/skins/default/textures/icons/Play_Over.png | Bin indra/newview/skins/default/textures/icons/Play_Press.png | Bin indra/newview/skins/default/textures/icons/Progress_1.png | Bin indra/newview/skins/default/textures/icons/Progress_10.png | Bin indra/newview/skins/default/textures/icons/Progress_11.png | Bin indra/newview/skins/default/textures/icons/Progress_12.png | Bin indra/newview/skins/default/textures/icons/Progress_2.png | Bin indra/newview/skins/default/textures/icons/Progress_3.png | Bin indra/newview/skins/default/textures/icons/Progress_4.png | Bin indra/newview/skins/default/textures/icons/Progress_5.png | Bin indra/newview/skins/default/textures/icons/Progress_6.png | Bin indra/newview/skins/default/textures/icons/Progress_7.png | Bin indra/newview/skins/default/textures/icons/Progress_8.png | Bin indra/newview/skins/default/textures/icons/Progress_9.png | Bin indra/newview/skins/default/textures/icons/Refresh_Off.png | Bin indra/newview/skins/default/textures/icons/SL_Logo.png | Bin indra/newview/skins/default/textures/icons/Search_Icon.png | Bin indra/newview/skins/default/textures/icons/Shirt_Large.png | Bin indra/newview/skins/default/textures/icons/Shop.png | Bin .../skins/default/textures/icons/SkipBackward_Off.png | Bin .../skins/default/textures/icons/SkipForward_Off.png | Bin .../newview/skins/default/textures/icons/StopReload_Off.png | Bin .../skins/default/textures/icons/StopReload_Over.png | Bin indra/newview/skins/default/textures/icons/Stop_Off.png | Bin .../skins/default/textures/icons/TrashItem_Disabled.png | Bin .../newview/skins/default/textures/icons/TrashItem_Off.png | Bin .../newview/skins/default/textures/icons/TrashItem_Over.png | Bin .../skins/default/textures/icons/TrashItem_Press.png | Bin indra/newview/skins/default/textures/icons/UnZoom_Off.png | Bin indra/newview/skins/default/textures/icons/UpArrow_Off.png | Bin .../newview/skins/default/textures/icons/VoicePTT_Lvl1.png | Bin .../newview/skins/default/textures/icons/VoicePTT_Lvl2.png | Bin .../newview/skins/default/textures/icons/VoicePTT_Lvl3.png | Bin indra/newview/skins/default/textures/icons/VoicePTT_Off.png | Bin indra/newview/skins/default/textures/icons/VoicePTT_On.png | Bin .../skins/default/textures/icons/YouAreHere_Badge.png | Bin indra/newview/skins/default/textures/icons/Zoom_Off.png | Bin .../skins/default/textures/icons/avaline_default_icon.jpg | Bin .../newview/skins/default/textures/icons/back_arrow_off.png | Bin .../skins/default/textures/icons/back_arrow_over.png | Bin .../skins/default/textures/icons/back_arrow_press.png | Bin indra/newview/skins/default/textures/icons/object_icon.png | Bin .../skins/default/textures/icons/parcel_color_EVRY.png | Bin .../skins/default/textures/icons/parcel_color_EXP.png | Bin .../newview/skins/default/textures/icons/parcel_color_M.png | Bin indra/newview/skins/default/textures/icons/unknown_icon.png | Bin indra/newview/skins/default/textures/image_edit_icon.tga | Bin .../newview/skins/default/textures/inv_folder_animation.tga | Bin indra/newview/skins/default/textures/inv_folder_inbox.tga | Bin indra/newview/skins/default/textures/jump_left_in.tga | Bin indra/newview/skins/default/textures/jump_left_out.tga | Bin indra/newview/skins/default/textures/jump_right_in.tga | Bin indra/newview/skins/default/textures/jump_right_out.tga | Bin .../newview/skins/default/textures/lag_status_critical.tga | Bin indra/newview/skins/default/textures/lag_status_good.tga | Bin indra/newview/skins/default/textures/lag_status_warning.tga | Bin indra/newview/skins/default/textures/legend.tga | Bin indra/newview/skins/default/textures/locked_image.j2c | Bin indra/newview/skins/default/textures/map_avatar_16.tga | Bin indra/newview/skins/default/textures/map_avatar_32.tga | Bin indra/newview/skins/default/textures/map_avatar_8.tga | Bin .../newview/skins/default/textures/map_avatar_above_32.tga | Bin indra/newview/skins/default/textures/map_avatar_above_8.tga | Bin .../newview/skins/default/textures/map_avatar_below_32.tga | Bin indra/newview/skins/default/textures/map_avatar_below_8.tga | Bin indra/newview/skins/default/textures/map_avatar_you_32.tga | Bin indra/newview/skins/default/textures/map_event.tga | Bin indra/newview/skins/default/textures/map_event_adult.tga | Bin indra/newview/skins/default/textures/map_event_mature.tga | Bin indra/newview/skins/default/textures/map_home.tga | Bin indra/newview/skins/default/textures/map_infohub.tga | Bin indra/newview/skins/default/textures/map_telehub.tga | Bin indra/newview/skins/default/textures/map_track_16.tga | Bin indra/newview/skins/default/textures/map_track_8.tga | Bin indra/newview/skins/default/textures/menu_separator.png | Bin indra/newview/skins/default/textures/missing_asset.tga | Bin indra/newview/skins/default/textures/mute_icon.tga | Bin .../skins/default/textures/navbar/Arrow_Left_Off.png | Bin .../skins/default/textures/navbar/Arrow_Left_Over.png | Bin .../skins/default/textures/navbar/Arrow_Right_Off.png | Bin .../skins/default/textures/navbar/Arrow_Right_Over.png | Bin .../newview/skins/default/textures/navbar/BuyArrow_Over.png | Bin .../skins/default/textures/navbar/BuyArrow_Press.png | Bin .../skins/default/textures/navbar/Favorite_Link_Over.png | Bin .../skins/default/textures/navbar/Favorite_Star_Active.png | Bin .../skins/default/textures/navbar/Favorite_Star_Off.png | Bin .../skins/default/textures/navbar/Favorite_Star_Over.png | Bin .../skins/default/textures/navbar/Favorite_Star_Press.png | Bin .../skins/default/textures/navbar/FileMenu_Divider.png | Bin indra/newview/skins/default/textures/navbar/Flag.png | Bin indra/newview/skins/default/textures/navbar/Help_Over.png | Bin indra/newview/skins/default/textures/navbar/Help_Press.png | Bin indra/newview/skins/default/textures/navbar/Home_Off.png | Bin indra/newview/skins/default/textures/navbar/Home_Over.png | Bin indra/newview/skins/default/textures/navbar/Info_Off.png | Bin indra/newview/skins/default/textures/navbar/Info_Over.png | Bin indra/newview/skins/default/textures/navbar/Info_Press.png | Bin indra/newview/skins/default/textures/navbar/Lock.png | Bin indra/newview/skins/default/textures/navbar/NavBar_BG.png | Bin .../skins/default/textures/navbar/NavBar_BG_NoFav_Bevel.png | Bin .../skins/default/textures/navbar/NavBar_BG_NoNav_Bevel.png | Bin .../newview/skins/default/textures/navbar/Row_Selection.png | Bin indra/newview/skins/default/textures/navbar/Search.png | Bin .../newview/skins/default/textures/notify_caution_icon.tga | Bin indra/newview/skins/default/textures/pixiesmall.j2c | Bin .../newview/skins/default/textures/places_rating_adult.tga | Bin .../newview/skins/default/textures/places_rating_mature.tga | Bin indra/newview/skins/default/textures/places_rating_pg.tga | Bin indra/newview/skins/default/textures/propertyline.tga | Bin .../skins/default/textures/quick_tips/avatar_free_mode.png | Bin .../skins/default/textures/quick_tips/camera_free_mode.png | Bin .../skins/default/textures/quick_tips/camera_orbit_mode.png | Bin .../skins/default/textures/quick_tips/camera_pan_mode.png | Bin .../textures/quick_tips/camera_preset_front_view.png | Bin .../textures/quick_tips/camera_preset_group_view.png | Bin .../default/textures/quick_tips/camera_preset_rear_view.png | Bin .../skins/default/textures/quick_tips/move_fly_first.png | Bin .../skins/default/textures/quick_tips/move_fly_second.png | Bin .../skins/default/textures/quick_tips/move_run_first.png | Bin .../skins/default/textures/quick_tips/move_run_second.png | Bin .../skins/default/textures/quick_tips/move_walk_first.png | Bin .../skins/default/textures/quick_tips/move_walk_second.png | Bin indra/newview/skins/default/textures/rounded_square.j2c | Bin indra/newview/skins/default/textures/script_error.j2c | Bin indra/newview/skins/default/textures/show_btn.tga | Bin indra/newview/skins/default/textures/show_btn_selected.tga | Bin indra/newview/skins/default/textures/silhouette.j2c | Bin .../newview/skins/default/textures/slim_icon_16_viewer.tga | Bin indra/newview/skins/default/textures/smicon_warn.tga | Bin indra/newview/skins/default/textures/spacer24.tga | Bin indra/newview/skins/default/textures/spacer35.tga | Bin indra/newview/skins/default/textures/square_btn_32x128.tga | Bin .../skins/default/textures/square_btn_selected_32x128.tga | Bin indra/newview/skins/default/textures/startup_logo.j2c | Bin indra/newview/skins/default/textures/status_busy.tga | Bin indra/newview/skins/default/textures/tabarea.tga | Bin .../skins/default/textures/taskpanel/Activate_Checkmark.png | Bin .../default/textures/taskpanel/TabIcon_Appearance_Off.png | Bin .../textures/taskpanel/TabIcon_Appearance_Selected.png | Bin .../skins/default/textures/taskpanel/TabIcon_Close_Off.png | Bin .../skins/default/textures/taskpanel/TabIcon_Home_Off.png | Bin .../default/textures/taskpanel/TabIcon_Home_Selected.png | Bin .../skins/default/textures/taskpanel/TabIcon_Me_Off.png | Bin .../default/textures/taskpanel/TabIcon_Me_Selected.png | Bin .../skins/default/textures/taskpanel/TabIcon_Open_Off.png | Bin .../skins/default/textures/taskpanel/TabIcon_People_Off.png | Bin .../default/textures/taskpanel/TabIcon_People_Selected.png | Bin .../default/textures/taskpanel/TabIcon_Places_Large.png | Bin .../skins/default/textures/taskpanel/TabIcon_Places_Off.png | Bin .../default/textures/taskpanel/TabIcon_Places_Selected.png | Bin .../skins/default/textures/taskpanel/TabIcon_Things_Off.png | Bin .../default/textures/taskpanel/TabIcon_Things_Selected.png | Bin .../skins/default/textures/taskpanel/TaskPanel_Tab_Off.png | Bin .../default/textures/taskpanel/TaskPanel_Tab_Selected.png | Bin indra/newview/skins/default/textures/tearoff_pressed.tga | Bin indra/newview/skins/default/textures/tearoffbox.tga | Bin indra/newview/skins/default/textures/textures.xml | 0 indra/newview/skins/default/textures/transparent.j2c | Bin indra/newview/skins/default/textures/up_arrow.png | Bin indra/newview/skins/default/textures/uv_test1.j2c | Bin indra/newview/skins/default/textures/uv_test2.tga | Bin indra/newview/skins/default/textures/voice_meter_dot.j2c | Bin indra/newview/skins/default/textures/voice_meter_rings.j2c | Bin indra/newview/skins/default/textures/white.tga | Bin indra/newview/skins/default/textures/widgets/Arrow_Down.png | Bin .../skins/default/textures/widgets/Arrow_Small_Left.png | Bin .../skins/default/textures/widgets/Arrow_Small_Right.png | Bin .../skins/default/textures/widgets/Arrow_Small_Up.png | Bin indra/newview/skins/default/textures/widgets/Arrow_Up.png | Bin .../skins/default/textures/widgets/Checkbox_Disabled.png | Bin .../newview/skins/default/textures/widgets/Checkbox_Off.png | Bin .../newview/skins/default/textures/widgets/Checkbox_On.png | Bin .../skins/default/textures/widgets/Checkbox_On_Disabled.png | Bin .../skins/default/textures/widgets/Checkbox_On_Over.png | Bin .../skins/default/textures/widgets/Checkbox_On_Press.png | Bin .../skins/default/textures/widgets/Checkbox_Over.png | Bin .../skins/default/textures/widgets/Checkbox_Press.png | Bin .../skins/default/textures/widgets/ComboButton_Disabled.png | Bin .../skins/default/textures/widgets/ComboButton_Off.png | Bin .../skins/default/textures/widgets/ComboButton_On.png | Bin .../skins/default/textures/widgets/ComboButton_Selected.png | Bin .../skins/default/textures/widgets/ComboButton_UpOff.png | Bin .../default/textures/widgets/ComboButton_UpSelected.png | Bin .../default/textures/widgets/ComboButton_Up_On_Selected.png | Bin .../textures/widgets/DisclosureArrow_Closed_Over.png | Bin .../default/textures/widgets/DisclosureArrow_Opened_Off.png | Bin .../textures/widgets/DisclosureArrow_Opened_Over.png | Bin .../skins/default/textures/widgets/DropDown_Disabled.png | Bin .../newview/skins/default/textures/widgets/DropDown_Off.png | Bin .../newview/skins/default/textures/widgets/DropDown_On.png | Bin .../skins/default/textures/widgets/DropDown_Press.png | Bin indra/newview/skins/default/textures/widgets/DropTarget.png | Bin .../skins/default/textures/widgets/Linden_Dollar_Alert.png | Bin .../default/textures/widgets/Linden_Dollar_Background.png | Bin .../skins/default/textures/widgets/ListItem_Over.png | Bin .../skins/default/textures/widgets/ListItem_Select.png | Bin .../newview/skins/default/textures/widgets/ProgressBar.png | Bin .../skins/default/textures/widgets/ProgressTrack.png | Bin .../skins/default/textures/widgets/PushButton_Disabled.png | Bin .../skins/default/textures/widgets/PushButton_Off.png | Bin .../skins/default/textures/widgets/PushButton_On.png | Bin .../skins/default/textures/widgets/PushButton_On_Over.png | Bin .../default/textures/widgets/PushButton_On_Selected.png | Bin .../skins/default/textures/widgets/PushButton_Over.png | Bin .../skins/default/textures/widgets/PushButton_Press.png | Bin .../skins/default/textures/widgets/PushButton_Selected.png | Bin .../textures/widgets/PushButton_Selected_Disabled.png | Bin .../default/textures/widgets/PushButton_Selected_Over.png | Bin .../default/textures/widgets/PushButton_Selected_Press.png | Bin .../skins/default/textures/widgets/RadioButton_Disabled.png | Bin .../skins/default/textures/widgets/RadioButton_Off.png | Bin .../skins/default/textures/widgets/RadioButton_On.png | Bin .../default/textures/widgets/RadioButton_On_Disabled.png | Bin .../skins/default/textures/widgets/RadioButton_On_Over.png | Bin .../skins/default/textures/widgets/RadioButton_On_Press.png | Bin .../skins/default/textures/widgets/RadioButton_Over.png | Bin .../skins/default/textures/widgets/RadioButton_Press.png | Bin .../skins/default/textures/widgets/ScrollArrow_Down.png | Bin .../default/textures/widgets/ScrollArrow_Down_Opaque.png | Bin .../default/textures/widgets/ScrollArrow_Down_Over.png | Bin .../textures/widgets/ScrollArrow_Down_Over_Opaque.png | Bin .../skins/default/textures/widgets/ScrollArrow_Left.png | Bin .../default/textures/widgets/ScrollArrow_Left_Opaque.png | Bin .../default/textures/widgets/ScrollArrow_Left_Over.png | Bin .../textures/widgets/ScrollArrow_Left_Over_Opaque.png | Bin .../skins/default/textures/widgets/ScrollArrow_Right.png | Bin .../default/textures/widgets/ScrollArrow_Right_Opaque.png | Bin .../default/textures/widgets/ScrollArrow_Right_Over.png | Bin .../textures/widgets/ScrollArrow_Right_Over_Opaque.png | Bin .../skins/default/textures/widgets/ScrollArrow_Up.png | Bin .../default/textures/widgets/ScrollArrow_Up_Opaque.png | Bin .../skins/default/textures/widgets/ScrollArrow_Up_Over.png | Bin .../default/textures/widgets/ScrollArrow_Up_Over_Opaque.png | Bin .../skins/default/textures/widgets/ScrollThumb_Horiz.png | Bin .../default/textures/widgets/ScrollThumb_Horiz_Over.png | Bin .../skins/default/textures/widgets/ScrollThumb_Vert.png | Bin .../default/textures/widgets/ScrollThumb_Vert_Over.png | Bin .../skins/default/textures/widgets/ScrollTrack_Horiz.png | Bin .../skins/default/textures/widgets/ScrollTrack_Vert.png | Bin .../default/textures/widgets/SegmentedBtn_Left_Disabled.png | Bin .../default/textures/widgets/SegmentedBtn_Left_Off.png | Bin .../skins/default/textures/widgets/SegmentedBtn_Left_On.png | Bin .../textures/widgets/SegmentedBtn_Left_On_Disabled.png | Bin .../default/textures/widgets/SegmentedBtn_Left_On_Over.png | Bin .../textures/widgets/SegmentedBtn_Left_On_Selected.png | Bin .../default/textures/widgets/SegmentedBtn_Left_Over.png | Bin .../default/textures/widgets/SegmentedBtn_Left_Press.png | Bin .../default/textures/widgets/SegmentedBtn_Left_Selected.png | Bin .../widgets/SegmentedBtn_Left_Selected_Disabled.png | Bin .../textures/widgets/SegmentedBtn_Left_Selected_Over.png | Bin .../textures/widgets/SegmentedBtn_Left_Selected_Press.png | Bin .../textures/widgets/SegmentedBtn_Middle_Disabled.png | Bin .../default/textures/widgets/SegmentedBtn_Middle_On.png | Bin .../textures/widgets/SegmentedBtn_Middle_On_Over.png | Bin .../textures/widgets/SegmentedBtn_Middle_On_Press.png | Bin .../default/textures/widgets/SegmentedBtn_Middle_Over.png | Bin .../textures/widgets/SegmentedBtn_Middle_Selected.png | Bin .../widgets/SegmentedBtn_Middle_Selected_Disabled.png | Bin .../textures/widgets/SegmentedBtn_Middle_Selected_Over.png | Bin .../textures/widgets/SegmentedBtn_Middle_Selected_Press.png | Bin .../textures/widgets/SegmentedBtn_Right_Disabled.png | Bin .../default/textures/widgets/SegmentedBtn_Right_Off.png | Bin .../default/textures/widgets/SegmentedBtn_Right_On.png | Bin .../default/textures/widgets/SegmentedBtn_Right_On_Over.png | Bin .../textures/widgets/SegmentedBtn_Right_On_Selected.png | Bin .../default/textures/widgets/SegmentedBtn_Right_Over.png | Bin .../default/textures/widgets/SegmentedBtn_Right_Press.png | Bin .../textures/widgets/SegmentedBtn_Right_Selected.png | Bin .../widgets/SegmentedBtn_Right_Selected_Disabled.png | Bin .../textures/widgets/SegmentedBtn_Right_Selected_Over.png | Bin .../textures/widgets/SegmentedBtn_Right_Selected_Press.png | Bin .../skins/default/textures/widgets/SliderThumb_Disabled.png | Bin .../skins/default/textures/widgets/SliderThumb_Off.png | Bin .../skins/default/textures/widgets/SliderThumb_Over.png | Bin .../skins/default/textures/widgets/SliderThumb_Press.png | Bin .../skins/default/textures/widgets/SliderTrack_Horiz.png | Bin .../skins/default/textures/widgets/SliderTrack_Vert.png | Bin .../skins/default/textures/widgets/Stepper_Down_Off.png | Bin .../skins/default/textures/widgets/Stepper_Down_Over.png | Bin .../skins/default/textures/widgets/Stepper_Down_Press.png | Bin .../skins/default/textures/widgets/Stepper_Up_Off.png | Bin .../skins/default/textures/widgets/Stepper_Up_Over.png | Bin .../skins/default/textures/widgets/Stepper_Up_Press.png | Bin .../skins/default/textures/widgets/TextField_Active.png | Bin .../skins/default/textures/widgets/TextField_Disabled.png | Bin .../skins/default/textures/widgets/TextField_Off.png | Bin .../default/textures/widgets/TextField_Search_Active.png | Bin .../default/textures/widgets/TextField_Search_Disabled.png | Bin .../skins/default/textures/widgets/TextField_Search_Off.png | Bin indra/newview/skins/default/textures/widgets/Tooltip.png | Bin .../skins/default/textures/widgets/bevel_background.png | Bin indra/newview/skins/default/textures/widgets/buy_off.png | Bin indra/newview/skins/default/textures/widgets/buy_over.png | Bin indra/newview/skins/default/textures/widgets/buy_press.png | Bin .../newview/skins/default/textures/widgets/jump_left_in.png | Bin .../skins/default/textures/widgets/jump_left_out.png | Bin .../skins/default/textures/widgets/jump_right_in.png | Bin .../skins/default/textures/widgets/jump_right_out.png | Bin indra/newview/skins/default/textures/windows/Dragbar.png | Bin indra/newview/skins/default/textures/windows/Flyout.png | Bin .../skins/default/textures/windows/Flyout_Pointer.png | Bin .../skins/default/textures/windows/Flyout_Pointer_Up.png | Bin .../default/textures/windows/Icon_Close_Foreground.png | Bin .../skins/default/textures/windows/Icon_Close_Press.png | Bin .../skins/default/textures/windows/Icon_Close_Toast.png | Bin .../skins/default/textures/windows/Icon_Dock_Foreground.png | Bin .../skins/default/textures/windows/Icon_Dock_Press.png | Bin .../skins/default/textures/windows/Icon_Gear_Background.png | Bin .../skins/default/textures/windows/Icon_Gear_Foreground.png | Bin .../skins/default/textures/windows/Icon_Gear_Over.png | Bin .../skins/default/textures/windows/Icon_Gear_Press.png | Bin .../skins/default/textures/windows/Icon_Help_Foreground.png | Bin .../skins/default/textures/windows/Icon_Help_Press.png | Bin .../default/textures/windows/Icon_Minimize_Foreground.png | Bin .../skins/default/textures/windows/Icon_Minimize_Press.png | Bin .../default/textures/windows/Icon_Restore_Foreground.png | Bin .../skins/default/textures/windows/Icon_Restore_Press.png | Bin .../default/textures/windows/Icon_Undock_Foreground.png | Bin .../skins/default/textures/windows/Icon_Undock_Press.png | Bin .../skins/default/textures/windows/Inspector_Background.png | Bin .../skins/default/textures/windows/Inspector_Hover.png | Bin .../newview/skins/default/textures/windows/Inspector_I.png | Bin .../skins/default/textures/windows/Resize_Corner.png | Bin .../skins/default/textures/windows/Toast_Background.png | Bin .../skins/default/textures/windows/Toast_CloseBtn.png | Bin indra/newview/skins/default/textures/windows/Toast_Over.png | Bin .../skins/default/textures/windows/Volume_Background.png | Bin .../skins/default/textures/windows/Wearables_Divider.png | Bin .../skins/default/textures/windows/Window_Background.png | Bin .../skins/default/textures/windows/Window_Foreground.png | Bin .../default/textures/windows/Window_NoTitle_Background.png | Bin .../default/textures/windows/Window_NoTitle_Foreground.png | Bin .../newview/skins/default/textures/windows/startup_logo.png | Bin indra/newview/skins/default/textures/world/BeaconArrow.png | Bin indra/newview/skins/default/textures/world/NoEntryLines.png | Bin .../skins/default/textures/world/NoEntryPassLines.png | Bin indra/newview/skins/default/xui/da/floater_about.xml | 0 indra/newview/skins/default/xui/da/floater_about_land.xml | 0 indra/newview/skins/default/xui/da/floater_activeim.xml | 0 .../skins/default/xui/da/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/da/floater_auction.xml | 0 .../newview/skins/default/xui/da/floater_avatar_picker.xml | 0 .../skins/default/xui/da/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/da/floater_beacons.xml | 0 .../newview/skins/default/xui/da/floater_build_options.xml | 0 indra/newview/skins/default/xui/da/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/da/floater_bumps.xml | 0 indra/newview/skins/default/xui/da/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/da/floater_buy_currency.xml | 0 .../skins/default/xui/da/floater_buy_currency_html.xml | 0 indra/newview/skins/default/xui/da/floater_buy_land.xml | 0 indra/newview/skins/default/xui/da/floater_buy_object.xml | 0 indra/newview/skins/default/xui/da/floater_camera.xml | 0 indra/newview/skins/default/xui/da/floater_choose_group.xml | 0 indra/newview/skins/default/xui/da/floater_color_picker.xml | 0 indra/newview/skins/default/xui/da/floater_critical.xml | 0 indra/newview/skins/default/xui/da/floater_customize.xml | 0 .../skins/default/xui/da/floater_day_cycle_options.xml | 0 .../skins/default/xui/da/floater_device_settings.xml | 0 indra/newview/skins/default/xui/da/floater_env_settings.xml | 0 indra/newview/skins/default/xui/da/floater_event.xml | 0 indra/newview/skins/default/xui/da/floater_font_test.xml | 0 indra/newview/skins/default/xui/da/floater_gesture.xml | 0 indra/newview/skins/default/xui/da/floater_god_tools.xml | 0 .../skins/default/xui/da/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/da/floater_help_browser.xml | 0 indra/newview/skins/default/xui/da/floater_hud.xml | 0 indra/newview/skins/default/xui/da/floater_im.xml | 0 indra/newview/skins/default/xui/da/floater_im_container.xml | 0 indra/newview/skins/default/xui/da/floater_im_session.xml | 0 .../newview/skins/default/xui/da/floater_image_preview.xml | 0 .../newview/skins/default/xui/da/floater_incoming_call.xml | 0 indra/newview/skins/default/xui/da/floater_inspect.xml | 0 indra/newview/skins/default/xui/da/floater_inventory.xml | 0 .../default/xui/da/floater_inventory_item_properties.xml | 0 .../skins/default/xui/da/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/da/floater_joystick.xml | 0 indra/newview/skins/default/xui/da/floater_lagmeter.xml | 0 .../newview/skins/default/xui/da/floater_land_holdings.xml | 0 .../newview/skins/default/xui/da/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/da/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/da/floater_map.xml | 0 .../newview/skins/default/xui/da/floater_media_browser.xml | 0 .../newview/skins/default/xui/da/floater_media_settings.xml | 0 indra/newview/skins/default/xui/da/floater_mem_leaking.xml | 0 indra/newview/skins/default/xui/da/floater_moveview.xml | 0 indra/newview/skins/default/xui/da/floater_mute_object.xml | 0 indra/newview/skins/default/xui/da/floater_my_friends.xml | 0 indra/newview/skins/default/xui/da/floater_nearby_chat.xml | 0 indra/newview/skins/default/xui/da/floater_openobject.xml | 0 .../newview/skins/default/xui/da/floater_outfit_save_as.xml | 0 .../newview/skins/default/xui/da/floater_outgoing_call.xml | 0 indra/newview/skins/default/xui/da/floater_pay.xml | 0 indra/newview/skins/default/xui/da/floater_pay_object.xml | 0 indra/newview/skins/default/xui/da/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/da/floater_postcard.xml | 0 indra/newview/skins/default/xui/da/floater_preferences.xml | 0 .../skins/default/xui/da/floater_preview_animation.xml | 0 .../skins/default/xui/da/floater_preview_classified.xml | 0 .../newview/skins/default/xui/da/floater_preview_event.xml | 0 .../skins/default/xui/da/floater_preview_gesture.xml | 0 .../skins/default/xui/da/floater_preview_gesture_info.xml | 0 .../default/xui/da/floater_preview_gesture_shortcut.xml | 0 .../skins/default/xui/da/floater_preview_gesture_steps.xml | 0 .../skins/default/xui/da/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/da/floater_preview_sound.xml | 0 .../skins/default/xui/da/floater_preview_texture.xml | 0 .../skins/default/xui/da/floater_publish_classified.xml | 0 indra/newview/skins/default/xui/da/floater_region_info.xml | 0 indra/newview/skins/default/xui/da/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/da/floater_script_debug.xml | 0 .../skins/default/xui/da/floater_script_debug_panel.xml | 0 .../newview/skins/default/xui/da/floater_script_limits.xml | 0 .../newview/skins/default/xui/da/floater_script_preview.xml | 0 indra/newview/skins/default/xui/da/floater_script_queue.xml | 0 .../newview/skins/default/xui/da/floater_script_search.xml | 0 indra/newview/skins/default/xui/da/floater_search.xml | 0 indra/newview/skins/default/xui/da/floater_select_key.xml | 0 indra/newview/skins/default/xui/da/floater_sell_land.xml | 0 .../newview/skins/default/xui/da/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/da/floater_snapshot.xml | 0 .../newview/skins/default/xui/da/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/da/floater_statistics.xml | 0 indra/newview/skins/default/xui/da/floater_stats.xml | 0 indra/newview/skins/default/xui/da/floater_sys_well.xml | 0 indra/newview/skins/default/xui/da/floater_telehub.xml | 0 indra/newview/skins/default/xui/da/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/da/floater_tools.xml | 0 indra/newview/skins/default/xui/da/floater_top_objects.xml | 0 indra/newview/skins/default/xui/da/floater_tos.xml | 0 indra/newview/skins/default/xui/da/floater_url_entry.xml | 0 .../newview/skins/default/xui/da/floater_voice_controls.xml | 0 indra/newview/skins/default/xui/da/floater_voice_effect.xml | 0 indra/newview/skins/default/xui/da/floater_water.xml | 0 .../skins/default/xui/da/floater_wearable_save_as.xml | 0 .../skins/default/xui/da/floater_whitelist_entry.xml | 0 .../skins/default/xui/da/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/da/floater_window_size.xml | 0 indra/newview/skins/default/xui/da/floater_world_map.xml | 0 indra/newview/skins/default/xui/da/inspect_avatar.xml | 0 indra/newview/skins/default/xui/da/inspect_group.xml | 0 indra/newview/skins/default/xui/da/inspect_object.xml | 0 .../newview/skins/default/xui/da/inspect_remote_object.xml | 0 indra/newview/skins/default/xui/da/language_settings.xml | 0 .../newview/skins/default/xui/da/menu_attachment_other.xml | 0 indra/newview/skins/default/xui/da/menu_attachment_self.xml | 0 indra/newview/skins/default/xui/da/menu_avatar_icon.xml | 0 indra/newview/skins/default/xui/da/menu_avatar_other.xml | 0 indra/newview/skins/default/xui/da/menu_avatar_self.xml | 0 indra/newview/skins/default/xui/da/menu_bottomtray.xml | 0 indra/newview/skins/default/xui/da/menu_cof_attachment.xml | 0 indra/newview/skins/default/xui/da/menu_cof_body_part.xml | 0 indra/newview/skins/default/xui/da/menu_cof_clothing.xml | 0 indra/newview/skins/default/xui/da/menu_cof_gear.xml | 0 indra/newview/skins/default/xui/da/menu_edit.xml | 0 indra/newview/skins/default/xui/da/menu_favorites.xml | 0 indra/newview/skins/default/xui/da/menu_gesture_gear.xml | 0 indra/newview/skins/default/xui/da/menu_group_plus.xml | 0 indra/newview/skins/default/xui/da/menu_hide_navbar.xml | 0 indra/newview/skins/default/xui/da/menu_im_well_button.xml | 0 indra/newview/skins/default/xui/da/menu_imchiclet_adhoc.xml | 0 indra/newview/skins/default/xui/da/menu_imchiclet_group.xml | 0 indra/newview/skins/default/xui/da/menu_imchiclet_p2p.xml | 0 .../skins/default/xui/da/menu_inspect_avatar_gear.xml | 0 .../skins/default/xui/da/menu_inspect_object_gear.xml | 0 .../newview/skins/default/xui/da/menu_inspect_self_gear.xml | 0 .../newview/skins/default/xui/da/menu_inv_offer_chiclet.xml | 0 indra/newview/skins/default/xui/da/menu_inventory.xml | 0 indra/newview/skins/default/xui/da/menu_inventory_add.xml | 0 .../skins/default/xui/da/menu_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/da/menu_land.xml | 0 indra/newview/skins/default/xui/da/menu_landmark.xml | 0 indra/newview/skins/default/xui/da/menu_login.xml | 0 indra/newview/skins/default/xui/da/menu_mini_map.xml | 0 indra/newview/skins/default/xui/da/menu_navbar.xml | 0 indra/newview/skins/default/xui/da/menu_nearby_chat.xml | 0 .../skins/default/xui/da/menu_notification_well_button.xml | 0 indra/newview/skins/default/xui/da/menu_object.xml | 0 indra/newview/skins/default/xui/da/menu_object_icon.xml | 0 indra/newview/skins/default/xui/da/menu_outfit_gear.xml | 0 indra/newview/skins/default/xui/da/menu_outfit_tab.xml | 0 .../newview/skins/default/xui/da/menu_participant_list.xml | 0 .../skins/default/xui/da/menu_people_friends_view_sort.xml | 0 indra/newview/skins/default/xui/da/menu_people_groups.xml | 0 .../skins/default/xui/da/menu_people_groups_view_sort.xml | 0 indra/newview/skins/default/xui/da/menu_people_nearby.xml | 0 .../skins/default/xui/da/menu_people_nearby_multiselect.xml | 0 .../skins/default/xui/da/menu_people_nearby_view_sort.xml | 0 .../skins/default/xui/da/menu_people_recent_view_sort.xml | 0 indra/newview/skins/default/xui/da/menu_picks.xml | 0 indra/newview/skins/default/xui/da/menu_picks_plus.xml | 0 indra/newview/skins/default/xui/da/menu_place.xml | 0 .../newview/skins/default/xui/da/menu_place_add_button.xml | 0 .../skins/default/xui/da/menu_places_gear_folder.xml | 0 .../skins/default/xui/da/menu_places_gear_landmark.xml | 0 .../newview/skins/default/xui/da/menu_profile_overflow.xml | 0 indra/newview/skins/default/xui/da/menu_save_outfit.xml | 0 indra/newview/skins/default/xui/da/menu_script_chiclet.xml | 0 indra/newview/skins/default/xui/da/menu_slurl.xml | 0 .../skins/default/xui/da/menu_teleport_history_gear.xml | 0 .../skins/default/xui/da/menu_teleport_history_item.xml | 0 .../skins/default/xui/da/menu_teleport_history_tab.xml | 0 indra/newview/skins/default/xui/da/menu_text_editor.xml | 0 indra/newview/skins/default/xui/da/menu_topinfobar.xml | 0 indra/newview/skins/default/xui/da/menu_url_agent.xml | 0 indra/newview/skins/default/xui/da/menu_url_group.xml | 0 indra/newview/skins/default/xui/da/menu_url_http.xml | 0 indra/newview/skins/default/xui/da/menu_url_inventory.xml | 0 indra/newview/skins/default/xui/da/menu_url_map.xml | 0 indra/newview/skins/default/xui/da/menu_url_objectim.xml | 0 indra/newview/skins/default/xui/da/menu_url_parcel.xml | 0 indra/newview/skins/default/xui/da/menu_url_slapp.xml | 0 indra/newview/skins/default/xui/da/menu_url_slurl.xml | 0 indra/newview/skins/default/xui/da/menu_url_teleport.xml | 0 indra/newview/skins/default/xui/da/menu_viewer.xml | 0 .../skins/default/xui/da/menu_wearable_list_item.xml | 0 indra/newview/skins/default/xui/da/menu_wearing_gear.xml | 0 indra/newview/skins/default/xui/da/menu_wearing_tab.xml | 0 indra/newview/skins/default/xui/da/mime_types.xml | 0 indra/newview/skins/default/xui/da/mime_types_linux.xml | 0 indra/newview/skins/default/xui/da/mime_types_mac.xml | 0 indra/newview/skins/default/xui/da/notifications.xml | 0 indra/newview/skins/default/xui/da/outfit_accordion_tab.xml | 0 .../skins/default/xui/da/panel_active_object_row.xml | 0 .../skins/default/xui/da/panel_adhoc_control_panel.xml | 0 indra/newview/skins/default/xui/da/panel_audio_device.xml | 0 .../newview/skins/default/xui/da/panel_avatar_list_item.xml | 0 .../skins/default/xui/da/panel_block_list_sidetray.xml | 0 .../skins/default/xui/da/panel_body_parts_list_item.xml | 0 .../default/xui/da/panel_bodyparts_list_button_bar.xml | 0 indra/newview/skins/default/xui/da/panel_bottomtray.xml | 0 .../newview/skins/default/xui/da/panel_bottomtray_lite.xml | 0 .../newview/skins/default/xui/da/panel_classified_info.xml | 0 .../skins/default/xui/da/panel_clothing_list_button_bar.xml | 0 .../skins/default/xui/da/panel_clothing_list_item.xml | 0 indra/newview/skins/default/xui/da/panel_cof_wearables.xml | 0 .../default/xui/da/panel_deletable_wearable_list_item.xml | 0 .../skins/default/xui/da/panel_dummy_clothing_list_item.xml | 0 indra/newview/skins/default/xui/da/panel_edit_alpha.xml | 0 .../newview/skins/default/xui/da/panel_edit_classified.xml | 0 indra/newview/skins/default/xui/da/panel_edit_eyes.xml | 0 indra/newview/skins/default/xui/da/panel_edit_gloves.xml | 0 indra/newview/skins/default/xui/da/panel_edit_hair.xml | 0 indra/newview/skins/default/xui/da/panel_edit_jacket.xml | 0 indra/newview/skins/default/xui/da/panel_edit_pants.xml | 0 indra/newview/skins/default/xui/da/panel_edit_pick.xml | 0 indra/newview/skins/default/xui/da/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/da/panel_edit_shape.xml | 0 indra/newview/skins/default/xui/da/panel_edit_shirt.xml | 0 indra/newview/skins/default/xui/da/panel_edit_shoes.xml | 0 indra/newview/skins/default/xui/da/panel_edit_skin.xml | 0 indra/newview/skins/default/xui/da/panel_edit_skirt.xml | 0 indra/newview/skins/default/xui/da/panel_edit_socks.xml | 0 indra/newview/skins/default/xui/da/panel_edit_tattoo.xml | 0 .../newview/skins/default/xui/da/panel_edit_underpants.xml | 0 .../newview/skins/default/xui/da/panel_edit_undershirt.xml | 0 indra/newview/skins/default/xui/da/panel_edit_wearable.xml | 0 indra/newview/skins/default/xui/da/panel_friends.xml | 0 .../skins/default/xui/da/panel_group_control_panel.xml | 0 indra/newview/skins/default/xui/da/panel_group_general.xml | 0 .../skins/default/xui/da/panel_group_info_sidetray.xml | 0 indra/newview/skins/default/xui/da/panel_group_invite.xml | 0 .../newview/skins/default/xui/da/panel_group_land_money.xml | 0 .../newview/skins/default/xui/da/panel_group_list_item.xml | 0 indra/newview/skins/default/xui/da/panel_group_notices.xml | 0 indra/newview/skins/default/xui/da/panel_group_notify.xml | 0 indra/newview/skins/default/xui/da/panel_group_roles.xml | 0 indra/newview/skins/default/xui/da/panel_groups.xml | 0 .../newview/skins/default/xui/da/panel_im_control_panel.xml | 0 indra/newview/skins/default/xui/da/panel_inventory_item.xml | 0 indra/newview/skins/default/xui/da/panel_landmark_info.xml | 0 indra/newview/skins/default/xui/da/panel_landmarks.xml | 0 indra/newview/skins/default/xui/da/panel_login.xml | 0 indra/newview/skins/default/xui/da/panel_main_inventory.xml | 0 indra/newview/skins/default/xui/da/panel_me.xml | 0 .../skins/default/xui/da/panel_media_settings_general.xml | 0 .../default/xui/da/panel_media_settings_permissions.xml | 0 .../skins/default/xui/da/panel_media_settings_security.xml | 0 indra/newview/skins/default/xui/da/panel_my_profile.xml | 0 indra/newview/skins/default/xui/da/panel_navigation_bar.xml | 0 indra/newview/skins/default/xui/da/panel_nearby_chat.xml | 0 .../newview/skins/default/xui/da/panel_nearby_chat_bar.xml | 0 indra/newview/skins/default/xui/da/panel_nearby_media.xml | 0 indra/newview/skins/default/xui/da/panel_notes.xml | 0 indra/newview/skins/default/xui/da/panel_online_status.xml | 0 .../skins/default/xui/da/panel_online_status_toast.xml | 0 indra/newview/skins/default/xui/da/panel_outfit_edit.xml | 0 .../skins/default/xui/da/panel_outfits_inventory.xml | 0 .../default/xui/da/panel_outfits_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/da/panel_outfits_list.xml | 0 .../newview/skins/default/xui/da/panel_outfits_wearing.xml | 0 indra/newview/skins/default/xui/da/panel_people.xml | 0 indra/newview/skins/default/xui/da/panel_pick_info.xml | 0 indra/newview/skins/default/xui/da/panel_picks.xml | 0 indra/newview/skins/default/xui/da/panel_place_profile.xml | 0 indra/newview/skins/default/xui/da/panel_places.xml | 0 .../skins/default/xui/da/panel_preferences_advanced.xml | 0 .../skins/default/xui/da/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/da/panel_preferences_chat.xml | 0 .../skins/default/xui/da/panel_preferences_general.xml | 0 .../skins/default/xui/da/panel_preferences_graphics1.xml | 0 .../skins/default/xui/da/panel_preferences_privacy.xml | 0 .../skins/default/xui/da/panel_preferences_setup.xml | 0 .../skins/default/xui/da/panel_preferences_sound.xml | 0 .../skins/default/xui/da/panel_prim_media_controls.xml | 0 indra/newview/skins/default/xui/da/panel_profile.xml | 0 indra/newview/skins/default/xui/da/panel_profile_view.xml | 0 .../newview/skins/default/xui/da/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/da/panel_region_debug.xml | 0 indra/newview/skins/default/xui/da/panel_region_estate.xml | 0 indra/newview/skins/default/xui/da/panel_region_general.xml | 0 .../skins/default/xui/da/panel_region_general_layout.xml | 0 indra/newview/skins/default/xui/da/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/da/panel_region_texture.xml | 0 indra/newview/skins/default/xui/da/panel_script_ed.xml | 0 .../skins/default/xui/da/panel_script_limits_my_avatar.xml | 0 .../default/xui/da/panel_script_limits_region_memory.xml | 0 .../newview/skins/default/xui/da/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/da/panel_side_tray.xml | 0 .../skins/default/xui/da/panel_side_tray_tab_caption.xml | 0 .../skins/default/xui/da/panel_stand_stop_flying.xml | 0 indra/newview/skins/default/xui/da/panel_status_bar.xml | 0 .../newview/skins/default/xui/da/panel_teleport_history.xml | 0 .../skins/default/xui/da/panel_teleport_history_item.xml | 0 indra/newview/skins/default/xui/da/panel_voice_effect.xml | 0 indra/newview/skins/default/xui/da/panel_world_map.xml | 0 indra/newview/skins/default/xui/da/role_actions.xml | 0 indra/newview/skins/default/xui/da/sidepanel_appearance.xml | 0 indra/newview/skins/default/xui/da/sidepanel_inventory.xml | 0 indra/newview/skins/default/xui/da/sidepanel_item_info.xml | 0 indra/newview/skins/default/xui/da/sidepanel_task_info.xml | 0 indra/newview/skins/default/xui/da/strings.xml | 0 indra/newview/skins/default/xui/da/teleport_strings.xml | 0 indra/newview/skins/default/xui/da/xui_version.xml | 0 indra/newview/skins/default/xui/de/floater_about.xml | 0 indra/newview/skins/default/xui/de/floater_about_land.xml | 0 indra/newview/skins/default/xui/de/floater_activeim.xml | 0 .../skins/default/xui/de/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/de/floater_auction.xml | 0 .../newview/skins/default/xui/de/floater_avatar_picker.xml | 0 .../skins/default/xui/de/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/de/floater_beacons.xml | 0 .../newview/skins/default/xui/de/floater_build_options.xml | 0 indra/newview/skins/default/xui/de/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/de/floater_bumps.xml | 0 indra/newview/skins/default/xui/de/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/de/floater_buy_currency.xml | 0 .../skins/default/xui/de/floater_buy_currency_html.xml | 0 indra/newview/skins/default/xui/de/floater_buy_land.xml | 0 indra/newview/skins/default/xui/de/floater_buy_object.xml | 0 indra/newview/skins/default/xui/de/floater_camera.xml | 0 indra/newview/skins/default/xui/de/floater_choose_group.xml | 0 indra/newview/skins/default/xui/de/floater_color_picker.xml | 0 indra/newview/skins/default/xui/de/floater_critical.xml | 0 indra/newview/skins/default/xui/de/floater_customize.xml | 0 .../skins/default/xui/de/floater_day_cycle_options.xml | 0 .../skins/default/xui/de/floater_device_settings.xml | 0 indra/newview/skins/default/xui/de/floater_env_settings.xml | 0 indra/newview/skins/default/xui/de/floater_event.xml | 0 .../newview/skins/default/xui/de/floater_first_time_tip.xml | 0 indra/newview/skins/default/xui/de/floater_font_test.xml | 0 indra/newview/skins/default/xui/de/floater_gesture.xml | 0 indra/newview/skins/default/xui/de/floater_god_tools.xml | 0 .../skins/default/xui/de/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/de/floater_help_browser.xml | 0 indra/newview/skins/default/xui/de/floater_hud.xml | 0 indra/newview/skins/default/xui/de/floater_im.xml | 0 indra/newview/skins/default/xui/de/floater_im_container.xml | 0 indra/newview/skins/default/xui/de/floater_im_session.xml | 0 .../newview/skins/default/xui/de/floater_image_preview.xml | 0 .../newview/skins/default/xui/de/floater_incoming_call.xml | 0 indra/newview/skins/default/xui/de/floater_inspect.xml | 0 indra/newview/skins/default/xui/de/floater_inventory.xml | 0 .../default/xui/de/floater_inventory_item_properties.xml | 0 .../skins/default/xui/de/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/de/floater_joystick.xml | 0 indra/newview/skins/default/xui/de/floater_lagmeter.xml | 0 .../newview/skins/default/xui/de/floater_land_holdings.xml | 0 .../newview/skins/default/xui/de/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/de/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/de/floater_map.xml | 0 .../newview/skins/default/xui/de/floater_media_browser.xml | 0 .../newview/skins/default/xui/de/floater_media_settings.xml | 0 indra/newview/skins/default/xui/de/floater_mem_leaking.xml | 0 indra/newview/skins/default/xui/de/floater_moveview.xml | 0 indra/newview/skins/default/xui/de/floater_mute_object.xml | 0 indra/newview/skins/default/xui/de/floater_my_friends.xml | 0 indra/newview/skins/default/xui/de/floater_nearby_chat.xml | 0 indra/newview/skins/default/xui/de/floater_notification.xml | 0 .../skins/default/xui/de/floater_notifications_console.xml | 0 indra/newview/skins/default/xui/de/floater_openobject.xml | 0 .../newview/skins/default/xui/de/floater_outfit_save_as.xml | 0 .../newview/skins/default/xui/de/floater_outgoing_call.xml | 0 indra/newview/skins/default/xui/de/floater_pay.xml | 0 indra/newview/skins/default/xui/de/floater_pay_object.xml | 0 indra/newview/skins/default/xui/de/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/de/floater_post_process.xml | 0 indra/newview/skins/default/xui/de/floater_postcard.xml | 0 indra/newview/skins/default/xui/de/floater_preferences.xml | 0 .../skins/default/xui/de/floater_preview_animation.xml | 0 .../skins/default/xui/de/floater_preview_classified.xml | 0 .../newview/skins/default/xui/de/floater_preview_event.xml | 0 .../skins/default/xui/de/floater_preview_gesture.xml | 0 .../skins/default/xui/de/floater_preview_gesture_info.xml | 0 .../default/xui/de/floater_preview_gesture_shortcut.xml | 0 .../skins/default/xui/de/floater_preview_gesture_steps.xml | 0 .../skins/default/xui/de/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/de/floater_preview_sound.xml | 0 .../skins/default/xui/de/floater_preview_texture.xml | 0 .../skins/default/xui/de/floater_publish_classified.xml | 0 indra/newview/skins/default/xui/de/floater_region_info.xml | 0 indra/newview/skins/default/xui/de/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/de/floater_script_debug.xml | 0 .../skins/default/xui/de/floater_script_debug_panel.xml | 0 .../newview/skins/default/xui/de/floater_script_limits.xml | 0 .../newview/skins/default/xui/de/floater_script_preview.xml | 0 indra/newview/skins/default/xui/de/floater_script_queue.xml | 0 .../newview/skins/default/xui/de/floater_script_search.xml | 0 indra/newview/skins/default/xui/de/floater_search.xml | 0 indra/newview/skins/default/xui/de/floater_select_key.xml | 0 indra/newview/skins/default/xui/de/floater_sell_land.xml | 0 .../newview/skins/default/xui/de/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/de/floater_snapshot.xml | 0 .../newview/skins/default/xui/de/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/de/floater_statistics.xml | 0 indra/newview/skins/default/xui/de/floater_stats.xml | 0 indra/newview/skins/default/xui/de/floater_sys_well.xml | 0 indra/newview/skins/default/xui/de/floater_telehub.xml | 0 indra/newview/skins/default/xui/de/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/de/floater_tools.xml | 0 indra/newview/skins/default/xui/de/floater_top_objects.xml | 0 indra/newview/skins/default/xui/de/floater_tos.xml | 0 indra/newview/skins/default/xui/de/floater_url_entry.xml | 0 .../newview/skins/default/xui/de/floater_voice_controls.xml | 0 indra/newview/skins/default/xui/de/floater_voice_effect.xml | 0 indra/newview/skins/default/xui/de/floater_water.xml | 0 .../skins/default/xui/de/floater_wearable_save_as.xml | 0 .../skins/default/xui/de/floater_whitelist_entry.xml | 0 .../skins/default/xui/de/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/de/floater_window_size.xml | 0 indra/newview/skins/default/xui/de/floater_world_map.xml | 0 indra/newview/skins/default/xui/de/inspect_avatar.xml | 0 indra/newview/skins/default/xui/de/inspect_group.xml | 0 indra/newview/skins/default/xui/de/inspect_object.xml | 0 .../newview/skins/default/xui/de/inspect_remote_object.xml | 0 indra/newview/skins/default/xui/de/language_settings.xml | 0 .../newview/skins/default/xui/de/menu_attachment_other.xml | 0 indra/newview/skins/default/xui/de/menu_attachment_self.xml | 0 indra/newview/skins/default/xui/de/menu_avatar_icon.xml | 0 indra/newview/skins/default/xui/de/menu_avatar_other.xml | 0 indra/newview/skins/default/xui/de/menu_avatar_self.xml | 0 indra/newview/skins/default/xui/de/menu_bottomtray.xml | 0 indra/newview/skins/default/xui/de/menu_cof_attachment.xml | 0 indra/newview/skins/default/xui/de/menu_cof_body_part.xml | 0 indra/newview/skins/default/xui/de/menu_cof_clothing.xml | 0 indra/newview/skins/default/xui/de/menu_cof_gear.xml | 0 indra/newview/skins/default/xui/de/menu_edit.xml | 0 indra/newview/skins/default/xui/de/menu_favorites.xml | 0 indra/newview/skins/default/xui/de/menu_gesture_gear.xml | 0 indra/newview/skins/default/xui/de/menu_group_plus.xml | 0 indra/newview/skins/default/xui/de/menu_hide_navbar.xml | 0 indra/newview/skins/default/xui/de/menu_im_well_button.xml | 0 indra/newview/skins/default/xui/de/menu_imchiclet_adhoc.xml | 0 indra/newview/skins/default/xui/de/menu_imchiclet_group.xml | 0 indra/newview/skins/default/xui/de/menu_imchiclet_p2p.xml | 0 .../skins/default/xui/de/menu_inspect_avatar_gear.xml | 0 .../skins/default/xui/de/menu_inspect_object_gear.xml | 0 .../newview/skins/default/xui/de/menu_inspect_self_gear.xml | 0 .../newview/skins/default/xui/de/menu_inv_offer_chiclet.xml | 0 indra/newview/skins/default/xui/de/menu_inventory.xml | 0 indra/newview/skins/default/xui/de/menu_inventory_add.xml | 0 .../skins/default/xui/de/menu_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/de/menu_land.xml | 0 indra/newview/skins/default/xui/de/menu_landmark.xml | 0 indra/newview/skins/default/xui/de/menu_login.xml | 0 indra/newview/skins/default/xui/de/menu_mini_map.xml | 0 indra/newview/skins/default/xui/de/menu_navbar.xml | 0 indra/newview/skins/default/xui/de/menu_nearby_chat.xml | 0 .../skins/default/xui/de/menu_notification_well_button.xml | 0 indra/newview/skins/default/xui/de/menu_object.xml | 0 indra/newview/skins/default/xui/de/menu_object_icon.xml | 0 indra/newview/skins/default/xui/de/menu_outfit_gear.xml | 0 indra/newview/skins/default/xui/de/menu_outfit_tab.xml | 0 .../newview/skins/default/xui/de/menu_participant_list.xml | 0 .../skins/default/xui/de/menu_people_friends_view_sort.xml | 0 indra/newview/skins/default/xui/de/menu_people_groups.xml | 0 .../skins/default/xui/de/menu_people_groups_view_sort.xml | 0 indra/newview/skins/default/xui/de/menu_people_nearby.xml | 0 .../skins/default/xui/de/menu_people_nearby_multiselect.xml | 0 .../skins/default/xui/de/menu_people_nearby_view_sort.xml | 0 .../skins/default/xui/de/menu_people_recent_view_sort.xml | 0 indra/newview/skins/default/xui/de/menu_picks.xml | 0 indra/newview/skins/default/xui/de/menu_picks_plus.xml | 0 indra/newview/skins/default/xui/de/menu_place.xml | 0 .../newview/skins/default/xui/de/menu_place_add_button.xml | 0 .../skins/default/xui/de/menu_places_gear_folder.xml | 0 .../skins/default/xui/de/menu_places_gear_landmark.xml | 0 .../newview/skins/default/xui/de/menu_profile_overflow.xml | 0 indra/newview/skins/default/xui/de/menu_save_outfit.xml | 0 indra/newview/skins/default/xui/de/menu_script_chiclet.xml | 0 indra/newview/skins/default/xui/de/menu_slurl.xml | 0 .../skins/default/xui/de/menu_teleport_history_gear.xml | 0 .../skins/default/xui/de/menu_teleport_history_item.xml | 0 .../skins/default/xui/de/menu_teleport_history_tab.xml | 0 indra/newview/skins/default/xui/de/menu_text_editor.xml | 0 indra/newview/skins/default/xui/de/menu_topinfobar.xml | 0 indra/newview/skins/default/xui/de/menu_url_agent.xml | 0 indra/newview/skins/default/xui/de/menu_url_group.xml | 0 indra/newview/skins/default/xui/de/menu_url_http.xml | 0 indra/newview/skins/default/xui/de/menu_url_inventory.xml | 0 indra/newview/skins/default/xui/de/menu_url_map.xml | 0 indra/newview/skins/default/xui/de/menu_url_objectim.xml | 0 indra/newview/skins/default/xui/de/menu_url_parcel.xml | 0 indra/newview/skins/default/xui/de/menu_url_slapp.xml | 0 indra/newview/skins/default/xui/de/menu_url_slurl.xml | 0 indra/newview/skins/default/xui/de/menu_url_teleport.xml | 0 indra/newview/skins/default/xui/de/menu_viewer.xml | 0 .../skins/default/xui/de/menu_wearable_list_item.xml | 0 indra/newview/skins/default/xui/de/menu_wearing_gear.xml | 0 indra/newview/skins/default/xui/de/menu_wearing_tab.xml | 0 indra/newview/skins/default/xui/de/mime_types.xml | 0 indra/newview/skins/default/xui/de/mime_types_linux.xml | 0 indra/newview/skins/default/xui/de/mime_types_mac.xml | 0 indra/newview/skins/default/xui/de/notifications.xml | 0 indra/newview/skins/default/xui/de/outfit_accordion_tab.xml | 0 .../skins/default/xui/de/panel_active_object_row.xml | 0 indra/newview/skins/default/xui/de/panel_activeim_row.xml | 0 .../skins/default/xui/de/panel_adhoc_control_panel.xml | 0 indra/newview/skins/default/xui/de/panel_audio_device.xml | 0 .../newview/skins/default/xui/de/panel_avatar_list_item.xml | 0 indra/newview/skins/default/xui/de/panel_avatar_tag.xml | 0 .../skins/default/xui/de/panel_block_list_sidetray.xml | 0 .../skins/default/xui/de/panel_body_parts_list_item.xml | 0 .../default/xui/de/panel_bodyparts_list_button_bar.xml | 0 indra/newview/skins/default/xui/de/panel_bottomtray.xml | 0 .../newview/skins/default/xui/de/panel_bottomtray_lite.xml | 0 indra/newview/skins/default/xui/de/panel_chat_header.xml | 0 .../newview/skins/default/xui/de/panel_classified_info.xml | 0 .../skins/default/xui/de/panel_clothing_list_button_bar.xml | 0 .../skins/default/xui/de/panel_clothing_list_item.xml | 0 indra/newview/skins/default/xui/de/panel_cof_wearables.xml | 0 .../default/xui/de/panel_deletable_wearable_list_item.xml | 0 .../skins/default/xui/de/panel_dummy_clothing_list_item.xml | 0 indra/newview/skins/default/xui/de/panel_edit_alpha.xml | 0 .../newview/skins/default/xui/de/panel_edit_classified.xml | 0 indra/newview/skins/default/xui/de/panel_edit_eyes.xml | 0 indra/newview/skins/default/xui/de/panel_edit_gloves.xml | 0 indra/newview/skins/default/xui/de/panel_edit_hair.xml | 0 indra/newview/skins/default/xui/de/panel_edit_jacket.xml | 0 indra/newview/skins/default/xui/de/panel_edit_pants.xml | 0 indra/newview/skins/default/xui/de/panel_edit_pick.xml | 0 indra/newview/skins/default/xui/de/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/de/panel_edit_shape.xml | 0 indra/newview/skins/default/xui/de/panel_edit_shirt.xml | 0 indra/newview/skins/default/xui/de/panel_edit_shoes.xml | 0 indra/newview/skins/default/xui/de/panel_edit_skin.xml | 0 indra/newview/skins/default/xui/de/panel_edit_skirt.xml | 0 indra/newview/skins/default/xui/de/panel_edit_socks.xml | 0 indra/newview/skins/default/xui/de/panel_edit_tattoo.xml | 0 .../newview/skins/default/xui/de/panel_edit_underpants.xml | 0 .../newview/skins/default/xui/de/panel_edit_undershirt.xml | 0 indra/newview/skins/default/xui/de/panel_edit_wearable.xml | 0 indra/newview/skins/default/xui/de/panel_friends.xml | 0 .../skins/default/xui/de/panel_group_control_panel.xml | 0 indra/newview/skins/default/xui/de/panel_group_general.xml | 0 .../skins/default/xui/de/panel_group_info_sidetray.xml | 0 indra/newview/skins/default/xui/de/panel_group_invite.xml | 0 .../newview/skins/default/xui/de/panel_group_land_money.xml | 0 .../newview/skins/default/xui/de/panel_group_list_item.xml | 0 indra/newview/skins/default/xui/de/panel_group_notices.xml | 0 indra/newview/skins/default/xui/de/panel_group_notify.xml | 0 indra/newview/skins/default/xui/de/panel_group_roles.xml | 0 indra/newview/skins/default/xui/de/panel_groups.xml | 0 .../newview/skins/default/xui/de/panel_im_control_panel.xml | 0 .../newview/skins/default/xui/de/panel_instant_message.xml | 0 indra/newview/skins/default/xui/de/panel_inventory_item.xml | 0 indra/newview/skins/default/xui/de/panel_landmark_info.xml | 0 indra/newview/skins/default/xui/de/panel_landmarks.xml | 0 indra/newview/skins/default/xui/de/panel_login.xml | 0 indra/newview/skins/default/xui/de/panel_main_inventory.xml | 0 indra/newview/skins/default/xui/de/panel_me.xml | 0 .../skins/default/xui/de/panel_media_settings_general.xml | 0 .../default/xui/de/panel_media_settings_permissions.xml | 0 .../skins/default/xui/de/panel_media_settings_security.xml | 0 indra/newview/skins/default/xui/de/panel_my_profile.xml | 0 indra/newview/skins/default/xui/de/panel_navigation_bar.xml | 0 indra/newview/skins/default/xui/de/panel_nearby_chat.xml | 0 .../newview/skins/default/xui/de/panel_nearby_chat_bar.xml | 0 indra/newview/skins/default/xui/de/panel_nearby_media.xml | 0 indra/newview/skins/default/xui/de/panel_notes.xml | 0 .../skins/default/xui/de/panel_notifications_channel.xml | 0 indra/newview/skins/default/xui/de/panel_online_status.xml | 0 .../skins/default/xui/de/panel_online_status_toast.xml | 0 indra/newview/skins/default/xui/de/panel_outfit_edit.xml | 0 .../skins/default/xui/de/panel_outfits_inventory.xml | 0 .../default/xui/de/panel_outfits_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/de/panel_outfits_list.xml | 0 .../newview/skins/default/xui/de/panel_outfits_wearing.xml | 0 indra/newview/skins/default/xui/de/panel_people.xml | 0 indra/newview/skins/default/xui/de/panel_pick_info.xml | 0 indra/newview/skins/default/xui/de/panel_picks.xml | 0 indra/newview/skins/default/xui/de/panel_place_profile.xml | 0 indra/newview/skins/default/xui/de/panel_places.xml | 0 .../skins/default/xui/de/panel_preferences_advanced.xml | 0 .../skins/default/xui/de/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/de/panel_preferences_chat.xml | 0 .../skins/default/xui/de/panel_preferences_general.xml | 0 .../skins/default/xui/de/panel_preferences_graphics1.xml | 0 .../skins/default/xui/de/panel_preferences_privacy.xml | 0 .../skins/default/xui/de/panel_preferences_setup.xml | 0 .../skins/default/xui/de/panel_preferences_sound.xml | 0 .../skins/default/xui/de/panel_prim_media_controls.xml | 0 indra/newview/skins/default/xui/de/panel_profile.xml | 0 indra/newview/skins/default/xui/de/panel_profile_view.xml | 0 .../newview/skins/default/xui/de/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/de/panel_region_debug.xml | 0 indra/newview/skins/default/xui/de/panel_region_estate.xml | 0 indra/newview/skins/default/xui/de/panel_region_general.xml | 0 .../skins/default/xui/de/panel_region_general_layout.xml | 0 indra/newview/skins/default/xui/de/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/de/panel_region_texture.xml | 0 indra/newview/skins/default/xui/de/panel_script_ed.xml | 0 .../skins/default/xui/de/panel_script_limits_my_avatar.xml | 0 .../default/xui/de/panel_script_limits_region_memory.xml | 0 .../newview/skins/default/xui/de/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/de/panel_side_tray.xml | 0 .../skins/default/xui/de/panel_side_tray_tab_caption.xml | 0 .../skins/default/xui/de/panel_sidetray_home_tab.xml | 0 .../skins/default/xui/de/panel_stand_stop_flying.xml | 0 indra/newview/skins/default/xui/de/panel_status_bar.xml | 0 indra/newview/skins/default/xui/de/panel_sys_well_item.xml | 0 .../newview/skins/default/xui/de/panel_teleport_history.xml | 0 .../skins/default/xui/de/panel_teleport_history_item.xml | 0 indra/newview/skins/default/xui/de/panel_voice_effect.xml | 0 indra/newview/skins/default/xui/de/panel_world_map.xml | 0 indra/newview/skins/default/xui/de/role_actions.xml | 0 indra/newview/skins/default/xui/de/sidepanel_appearance.xml | 0 indra/newview/skins/default/xui/de/sidepanel_inventory.xml | 0 indra/newview/skins/default/xui/de/sidepanel_item_info.xml | 0 indra/newview/skins/default/xui/de/sidepanel_task_info.xml | 0 indra/newview/skins/default/xui/de/strings.xml | 0 indra/newview/skins/default/xui/de/teleport_strings.xml | 0 indra/newview/skins/default/xui/de/xui_version.xml | 0 indra/newview/skins/default/xui/en/accordion_drag.xml | 0 indra/newview/skins/default/xui/en/accordion_parent.xml | 0 indra/newview/skins/default/xui/en/alert_button.xml | 0 indra/newview/skins/default/xui/en/alert_check_box.xml | 0 indra/newview/skins/default/xui/en/alert_icon.xml | 0 indra/newview/skins/default/xui/en/alert_line_editor.xml | 0 indra/newview/skins/default/xui/en/favorites_bar_button.xml | 0 indra/newview/skins/default/xui/en/floater_aaa.xml | 0 indra/newview/skins/default/xui/en/floater_about.xml | 0 indra/newview/skins/default/xui/en/floater_about_land.xml | 0 indra/newview/skins/default/xui/en/floater_activeim.xml | 0 .../skins/default/xui/en/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/en/floater_auction.xml | 0 .../newview/skins/default/xui/en/floater_avatar_picker.xml | 0 .../skins/default/xui/en/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/en/floater_beacons.xml | 0 .../newview/skins/default/xui/en/floater_build_options.xml | 0 indra/newview/skins/default/xui/en/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/en/floater_bumps.xml | 0 indra/newview/skins/default/xui/en/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/en/floater_buy_currency.xml | 0 .../skins/default/xui/en/floater_buy_currency_html.xml | 0 indra/newview/skins/default/xui/en/floater_buy_land.xml | 0 indra/newview/skins/default/xui/en/floater_buy_object.xml | 0 indra/newview/skins/default/xui/en/floater_camera.xml | 0 indra/newview/skins/default/xui/en/floater_choose_group.xml | 0 indra/newview/skins/default/xui/en/floater_color_picker.xml | 0 indra/newview/skins/default/xui/en/floater_critical.xml | 0 indra/newview/skins/default/xui/en/floater_customize.xml | 0 .../skins/default/xui/en/floater_day_cycle_options.xml | 0 .../skins/default/xui/en/floater_device_settings.xml | 0 indra/newview/skins/default/xui/en/floater_env_settings.xml | 0 indra/newview/skins/default/xui/en/floater_event.xml | 0 .../newview/skins/default/xui/en/floater_first_time_tip.xml | 0 indra/newview/skins/default/xui/en/floater_font_test.xml | 0 indra/newview/skins/default/xui/en/floater_gesture.xml | 0 indra/newview/skins/default/xui/en/floater_god_tools.xml | 0 .../skins/default/xui/en/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/en/floater_help_browser.xml | 0 indra/newview/skins/default/xui/en/floater_hud.xml | 0 indra/newview/skins/default/xui/en/floater_im.xml | 0 indra/newview/skins/default/xui/en/floater_im_container.xml | 0 indra/newview/skins/default/xui/en/floater_im_session.xml | 0 .../newview/skins/default/xui/en/floater_image_preview.xml | 0 .../newview/skins/default/xui/en/floater_import_collada.xml | 0 .../newview/skins/default/xui/en/floater_incoming_call.xml | 0 indra/newview/skins/default/xui/en/floater_inspect.xml | 0 indra/newview/skins/default/xui/en/floater_inventory.xml | 0 .../default/xui/en/floater_inventory_item_properties.xml | 0 .../skins/default/xui/en/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/en/floater_joystick.xml | 0 indra/newview/skins/default/xui/en/floater_lagmeter.xml | 0 .../newview/skins/default/xui/en/floater_land_holdings.xml | 0 .../newview/skins/default/xui/en/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/en/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/en/floater_map.xml | 0 .../newview/skins/default/xui/en/floater_media_browser.xml | 0 .../newview/skins/default/xui/en/floater_media_settings.xml | 0 indra/newview/skins/default/xui/en/floater_mem_leaking.xml | 0 .../newview/skins/default/xui/en/floater_model_preview.xml | 0 indra/newview/skins/default/xui/en/floater_moveview.xml | 0 indra/newview/skins/default/xui/en/floater_mute_object.xml | 0 indra/newview/skins/default/xui/en/floater_my_friends.xml | 0 indra/newview/skins/default/xui/en/floater_nearby_chat.xml | 0 indra/newview/skins/default/xui/en/floater_notification.xml | 0 .../skins/default/xui/en/floater_notifications_console.xml | 0 indra/newview/skins/default/xui/en/floater_openobject.xml | 0 .../newview/skins/default/xui/en/floater_outfit_save_as.xml | 0 .../newview/skins/default/xui/en/floater_outgoing_call.xml | 0 indra/newview/skins/default/xui/en/floater_pay.xml | 0 indra/newview/skins/default/xui/en/floater_pay_object.xml | 0 indra/newview/skins/default/xui/en/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/en/floater_post_process.xml | 0 indra/newview/skins/default/xui/en/floater_postcard.xml | 0 indra/newview/skins/default/xui/en/floater_preferences.xml | 0 .../skins/default/xui/en/floater_preview_animation.xml | 0 .../skins/default/xui/en/floater_preview_classified.xml | 0 .../newview/skins/default/xui/en/floater_preview_event.xml | 0 .../skins/default/xui/en/floater_preview_gesture.xml | 0 .../skins/default/xui/en/floater_preview_gesture_info.xml | 0 .../default/xui/en/floater_preview_gesture_shortcut.xml | 0 .../skins/default/xui/en/floater_preview_gesture_steps.xml | 0 .../skins/default/xui/en/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/en/floater_preview_sound.xml | 0 .../skins/default/xui/en/floater_preview_texture.xml | 0 .../skins/default/xui/en/floater_price_for_listing.xml | 0 .../skins/default/xui/en/floater_publish_classified.xml | 0 indra/newview/skins/default/xui/en/floater_region_info.xml | 0 indra/newview/skins/default/xui/en/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/en/floater_script.xml | 0 indra/newview/skins/default/xui/en/floater_script_debug.xml | 0 .../skins/default/xui/en/floater_script_debug_panel.xml | 0 .../newview/skins/default/xui/en/floater_script_limits.xml | 0 .../newview/skins/default/xui/en/floater_script_preview.xml | 0 indra/newview/skins/default/xui/en/floater_script_queue.xml | 0 .../newview/skins/default/xui/en/floater_script_search.xml | 0 indra/newview/skins/default/xui/en/floater_search.xml | 0 indra/newview/skins/default/xui/en/floater_select_key.xml | 0 indra/newview/skins/default/xui/en/floater_sell_land.xml | 0 .../newview/skins/default/xui/en/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/en/floater_snapshot.xml | 0 .../newview/skins/default/xui/en/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/en/floater_statistics.xml | 0 indra/newview/skins/default/xui/en/floater_stats.xml | 0 indra/newview/skins/default/xui/en/floater_sys_well.xml | 0 indra/newview/skins/default/xui/en/floater_telehub.xml | 0 indra/newview/skins/default/xui/en/floater_test_button.xml | 0 .../newview/skins/default/xui/en/floater_test_checkbox.xml | 0 .../newview/skins/default/xui/en/floater_test_combobox.xml | 0 .../skins/default/xui/en/floater_test_inspectors.xml | 0 indra/newview/skins/default/xui/en/floater_test_layout.xml | 0 .../skins/default/xui/en/floater_test_line_editor.xml | 0 .../newview/skins/default/xui/en/floater_test_list_view.xml | 0 .../skins/default/xui/en/floater_test_navigation_bar.xml | 0 .../skins/default/xui/en/floater_test_radiogroup.xml | 0 indra/newview/skins/default/xui/en/floater_test_slider.xml | 0 indra/newview/skins/default/xui/en/floater_test_spinner.xml | 0 .../skins/default/xui/en/floater_test_text_editor.xml | 0 indra/newview/skins/default/xui/en/floater_test_textbox.xml | 0 indra/newview/skins/default/xui/en/floater_test_widgets.xml | 0 indra/newview/skins/default/xui/en/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/en/floater_tools.xml | 0 indra/newview/skins/default/xui/en/floater_top_objects.xml | 0 indra/newview/skins/default/xui/en/floater_tos.xml | 0 indra/newview/skins/default/xui/en/floater_ui_preview.xml | 0 indra/newview/skins/default/xui/en/floater_url_entry.xml | 0 .../newview/skins/default/xui/en/floater_voice_controls.xml | 0 indra/newview/skins/default/xui/en/floater_voice_effect.xml | 0 indra/newview/skins/default/xui/en/floater_water.xml | 0 .../skins/default/xui/en/floater_wearable_save_as.xml | 0 .../skins/default/xui/en/floater_whitelist_entry.xml | 0 .../skins/default/xui/en/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/en/floater_window_size.xml | 0 indra/newview/skins/default/xui/en/floater_world_map.xml | 0 indra/newview/skins/default/xui/en/fonts.xml | 0 indra/newview/skins/default/xui/en/inspect_avatar.xml | 0 indra/newview/skins/default/xui/en/inspect_group.xml | 0 indra/newview/skins/default/xui/en/inspect_object.xml | 0 .../newview/skins/default/xui/en/inspect_remote_object.xml | 0 indra/newview/skins/default/xui/en/inspect_toast.xml | 0 indra/newview/skins/default/xui/en/inspector_info_ctrl.xml | 0 indra/newview/skins/default/xui/en/language_settings.xml | 0 indra/newview/skins/default/xui/en/main_view.xml | 0 .../newview/skins/default/xui/en/menu_add_wearable_gear.xml | 0 .../newview/skins/default/xui/en/menu_attachment_other.xml | 0 indra/newview/skins/default/xui/en/menu_attachment_self.xml | 0 indra/newview/skins/default/xui/en/menu_avatar_icon.xml | 0 indra/newview/skins/default/xui/en/menu_avatar_other.xml | 0 indra/newview/skins/default/xui/en/menu_avatar_self.xml | 0 indra/newview/skins/default/xui/en/menu_bottomtray.xml | 0 indra/newview/skins/default/xui/en/menu_cof_attachment.xml | 0 indra/newview/skins/default/xui/en/menu_cof_body_part.xml | 0 indra/newview/skins/default/xui/en/menu_cof_clothing.xml | 0 indra/newview/skins/default/xui/en/menu_cof_gear.xml | 0 indra/newview/skins/default/xui/en/menu_edit.xml | 0 indra/newview/skins/default/xui/en/menu_favorites.xml | 0 indra/newview/skins/default/xui/en/menu_gesture_gear.xml | 0 indra/newview/skins/default/xui/en/menu_group_plus.xml | 0 indra/newview/skins/default/xui/en/menu_hide_navbar.xml | 0 indra/newview/skins/default/xui/en/menu_im_well_button.xml | 0 indra/newview/skins/default/xui/en/menu_imchiclet_adhoc.xml | 0 indra/newview/skins/default/xui/en/menu_imchiclet_group.xml | 0 indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml | 0 .../skins/default/xui/en/menu_inspect_avatar_gear.xml | 0 .../skins/default/xui/en/menu_inspect_object_gear.xml | 0 .../newview/skins/default/xui/en/menu_inspect_self_gear.xml | 0 .../newview/skins/default/xui/en/menu_inv_offer_chiclet.xml | 0 indra/newview/skins/default/xui/en/menu_inventory.xml | 0 indra/newview/skins/default/xui/en/menu_inventory_add.xml | 0 .../skins/default/xui/en/menu_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/en/menu_land.xml | 0 indra/newview/skins/default/xui/en/menu_landmark.xml | 0 indra/newview/skins/default/xui/en/menu_login.xml | 0 indra/newview/skins/default/xui/en/menu_mini_map.xml | 0 indra/newview/skins/default/xui/en/menu_navbar.xml | 0 indra/newview/skins/default/xui/en/menu_nearby_chat.xml | 0 .../skins/default/xui/en/menu_notification_well_button.xml | 0 indra/newview/skins/default/xui/en/menu_object.xml | 0 indra/newview/skins/default/xui/en/menu_object_icon.xml | 0 indra/newview/skins/default/xui/en/menu_outfit_gear.xml | 0 indra/newview/skins/default/xui/en/menu_outfit_tab.xml | 0 .../newview/skins/default/xui/en/menu_participant_list.xml | 0 .../skins/default/xui/en/menu_people_friends_view_sort.xml | 0 indra/newview/skins/default/xui/en/menu_people_groups.xml | 0 .../skins/default/xui/en/menu_people_groups_view_sort.xml | 0 indra/newview/skins/default/xui/en/menu_people_nearby.xml | 0 .../skins/default/xui/en/menu_people_nearby_multiselect.xml | 0 .../skins/default/xui/en/menu_people_nearby_view_sort.xml | 0 .../skins/default/xui/en/menu_people_recent_view_sort.xml | 0 indra/newview/skins/default/xui/en/menu_picks.xml | 0 indra/newview/skins/default/xui/en/menu_picks_plus.xml | 0 indra/newview/skins/default/xui/en/menu_place.xml | 0 .../newview/skins/default/xui/en/menu_place_add_button.xml | 0 .../skins/default/xui/en/menu_places_gear_folder.xml | 0 .../skins/default/xui/en/menu_places_gear_landmark.xml | 0 .../newview/skins/default/xui/en/menu_profile_overflow.xml | 0 indra/newview/skins/default/xui/en/menu_save_outfit.xml | 0 indra/newview/skins/default/xui/en/menu_script_chiclet.xml | 0 indra/newview/skins/default/xui/en/menu_slurl.xml | 0 .../skins/default/xui/en/menu_teleport_history_gear.xml | 0 .../skins/default/xui/en/menu_teleport_history_item.xml | 0 .../skins/default/xui/en/menu_teleport_history_tab.xml | 0 indra/newview/skins/default/xui/en/menu_text_editor.xml | 0 indra/newview/skins/default/xui/en/menu_topinfobar.xml | 0 indra/newview/skins/default/xui/en/menu_url_agent.xml | 0 indra/newview/skins/default/xui/en/menu_url_group.xml | 0 indra/newview/skins/default/xui/en/menu_url_http.xml | 0 indra/newview/skins/default/xui/en/menu_url_inventory.xml | 0 indra/newview/skins/default/xui/en/menu_url_map.xml | 0 indra/newview/skins/default/xui/en/menu_url_objectim.xml | 0 indra/newview/skins/default/xui/en/menu_url_parcel.xml | 0 indra/newview/skins/default/xui/en/menu_url_slapp.xml | 0 indra/newview/skins/default/xui/en/menu_url_slurl.xml | 0 indra/newview/skins/default/xui/en/menu_url_teleport.xml | 0 indra/newview/skins/default/xui/en/menu_viewer.xml | 0 .../skins/default/xui/en/menu_wearable_list_item.xml | 0 indra/newview/skins/default/xui/en/menu_wearing_gear.xml | 0 indra/newview/skins/default/xui/en/menu_wearing_tab.xml | 0 indra/newview/skins/default/xui/en/mime_types.xml | 0 indra/newview/skins/default/xui/en/mime_types_linux.xml | 0 indra/newview/skins/default/xui/en/mime_types_mac.xml | 0 indra/newview/skins/default/xui/en/notifications.xml | 0 indra/newview/skins/default/xui/en/outfit_accordion_tab.xml | 0 .../skins/default/xui/en/panel_active_object_row.xml | 0 indra/newview/skins/default/xui/en/panel_activeim_row.xml | 0 .../skins/default/xui/en/panel_adhoc_control_panel.xml | 0 indra/newview/skins/default/xui/en/panel_audio_device.xml | 0 .../newview/skins/default/xui/en/panel_avatar_list_item.xml | 0 indra/newview/skins/default/xui/en/panel_avatar_tag.xml | 0 .../skins/default/xui/en/panel_block_list_sidetray.xml | 0 .../skins/default/xui/en/panel_body_parts_list_item.xml | 0 .../default/xui/en/panel_bodyparts_list_button_bar.xml | 0 indra/newview/skins/default/xui/en/panel_bottomtray.xml | 0 .../newview/skins/default/xui/en/panel_bottomtray_lite.xml | 0 indra/newview/skins/default/xui/en/panel_chat_header.xml | 0 indra/newview/skins/default/xui/en/panel_chat_item.xml | 0 indra/newview/skins/default/xui/en/panel_chat_separator.xml | 0 .../newview/skins/default/xui/en/panel_classified_info.xml | 0 .../skins/default/xui/en/panel_classifieds_list_item.xml | 0 .../skins/default/xui/en/panel_clothing_list_button_bar.xml | 0 .../skins/default/xui/en/panel_clothing_list_item.xml | 0 indra/newview/skins/default/xui/en/panel_cof_wearables.xml | 0 .../default/xui/en/panel_deletable_wearable_list_item.xml | 0 .../skins/default/xui/en/panel_dummy_clothing_list_item.xml | 0 indra/newview/skins/default/xui/en/panel_edit_alpha.xml | 0 .../newview/skins/default/xui/en/panel_edit_classified.xml | 0 indra/newview/skins/default/xui/en/panel_edit_eyes.xml | 0 indra/newview/skins/default/xui/en/panel_edit_gloves.xml | 0 indra/newview/skins/default/xui/en/panel_edit_hair.xml | 0 indra/newview/skins/default/xui/en/panel_edit_jacket.xml | 0 indra/newview/skins/default/xui/en/panel_edit_pants.xml | 0 indra/newview/skins/default/xui/en/panel_edit_pick.xml | 0 indra/newview/skins/default/xui/en/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/en/panel_edit_shape.xml | 0 indra/newview/skins/default/xui/en/panel_edit_shirt.xml | 0 indra/newview/skins/default/xui/en/panel_edit_shoes.xml | 0 indra/newview/skins/default/xui/en/panel_edit_skin.xml | 0 indra/newview/skins/default/xui/en/panel_edit_skirt.xml | 0 indra/newview/skins/default/xui/en/panel_edit_socks.xml | 0 indra/newview/skins/default/xui/en/panel_edit_tattoo.xml | 0 .../newview/skins/default/xui/en/panel_edit_underpants.xml | 0 .../newview/skins/default/xui/en/panel_edit_undershirt.xml | 0 indra/newview/skins/default/xui/en/panel_edit_wearable.xml | 0 indra/newview/skins/default/xui/en/panel_friends.xml | 0 indra/newview/skins/default/xui/en/panel_generic_tip.xml | 0 .../skins/default/xui/en/panel_group_control_panel.xml | 0 indra/newview/skins/default/xui/en/panel_group_general.xml | 0 .../skins/default/xui/en/panel_group_info_sidetray.xml | 0 indra/newview/skins/default/xui/en/panel_group_invite.xml | 0 .../newview/skins/default/xui/en/panel_group_land_money.xml | 0 .../newview/skins/default/xui/en/panel_group_list_item.xml | 0 indra/newview/skins/default/xui/en/panel_group_notices.xml | 0 indra/newview/skins/default/xui/en/panel_group_notify.xml | 0 indra/newview/skins/default/xui/en/panel_group_roles.xml | 0 indra/newview/skins/default/xui/en/panel_groups.xml | 0 indra/newview/skins/default/xui/en/panel_hud.xml | 0 .../newview/skins/default/xui/en/panel_im_control_panel.xml | 0 .../newview/skins/default/xui/en/panel_instant_message.xml | 0 indra/newview/skins/default/xui/en/panel_inventory_item.xml | 0 indra/newview/skins/default/xui/en/panel_landmark_info.xml | 0 indra/newview/skins/default/xui/en/panel_landmarks.xml | 0 indra/newview/skins/default/xui/en/panel_login.xml | 0 indra/newview/skins/default/xui/en/panel_main_inventory.xml | 0 indra/newview/skins/default/xui/en/panel_me.xml | 0 .../skins/default/xui/en/panel_media_settings_general.xml | 0 .../default/xui/en/panel_media_settings_permissions.xml | 0 .../skins/default/xui/en/panel_media_settings_security.xml | 0 indra/newview/skins/default/xui/en/panel_my_profile.xml | 0 indra/newview/skins/default/xui/en/panel_navigation_bar.xml | 0 indra/newview/skins/default/xui/en/panel_nearby_chat.xml | 0 .../newview/skins/default/xui/en/panel_nearby_chat_bar.xml | 0 indra/newview/skins/default/xui/en/panel_nearby_media.xml | 0 indra/newview/skins/default/xui/en/panel_notes.xml | 0 indra/newview/skins/default/xui/en/panel_notification.xml | 0 .../skins/default/xui/en/panel_notifications_channel.xml | 0 indra/newview/skins/default/xui/en/panel_online_status.xml | 0 .../skins/default/xui/en/panel_online_status_toast.xml | 0 indra/newview/skins/default/xui/en/panel_outfit_edit.xml | 0 .../skins/default/xui/en/panel_outfits_inventory.xml | 0 .../default/xui/en/panel_outfits_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/en/panel_outfits_list.xml | 0 .../newview/skins/default/xui/en/panel_outfits_wearing.xml | 0 indra/newview/skins/default/xui/en/panel_people.xml | 0 indra/newview/skins/default/xui/en/panel_pick_info.xml | 0 indra/newview/skins/default/xui/en/panel_pick_list_item.xml | 0 indra/newview/skins/default/xui/en/panel_picks.xml | 0 indra/newview/skins/default/xui/en/panel_place_profile.xml | 0 indra/newview/skins/default/xui/en/panel_places.xml | 0 .../skins/default/xui/en/panel_preferences_advanced.xml | 0 .../skins/default/xui/en/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/en/panel_preferences_chat.xml | 0 .../skins/default/xui/en/panel_preferences_general.xml | 0 .../skins/default/xui/en/panel_preferences_graphics1.xml | 0 .../skins/default/xui/en/panel_preferences_privacy.xml | 0 .../skins/default/xui/en/panel_preferences_setup.xml | 0 .../skins/default/xui/en/panel_preferences_sound.xml | 0 .../skins/default/xui/en/panel_prim_media_controls.xml | 0 indra/newview/skins/default/xui/en/panel_profile.xml | 0 indra/newview/skins/default/xui/en/panel_profile_view.xml | 0 indra/newview/skins/default/xui/en/panel_progress.xml | 0 .../newview/skins/default/xui/en/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/en/panel_region_debug.xml | 0 indra/newview/skins/default/xui/en/panel_region_estate.xml | 0 indra/newview/skins/default/xui/en/panel_region_general.xml | 0 .../skins/default/xui/en/panel_region_general_layout.xml | 0 indra/newview/skins/default/xui/en/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/en/panel_region_texture.xml | 0 indra/newview/skins/default/xui/en/panel_script_ed.xml | 0 .../skins/default/xui/en/panel_script_limits_my_avatar.xml | 0 .../default/xui/en/panel_script_limits_region_memory.xml | 0 .../newview/skins/default/xui/en/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/en/panel_side_tray.xml | 0 .../skins/default/xui/en/panel_side_tray_tab_caption.xml | 0 .../skins/default/xui/en/panel_sidetray_home_tab.xml | 0 .../skins/default/xui/en/panel_stand_stop_flying.xml | 0 indra/newview/skins/default/xui/en/panel_status_bar.xml | 0 indra/newview/skins/default/xui/en/panel_sys_well_item.xml | 0 .../newview/skins/default/xui/en/panel_teleport_history.xml | 0 .../skins/default/xui/en/panel_teleport_history_item.xml | 0 indra/newview/skins/default/xui/en/panel_toast.xml | 0 indra/newview/skins/default/xui/en/panel_topinfo_bar.xml | 0 indra/newview/skins/default/xui/en/panel_voice_effect.xml | 0 .../newview/skins/default/xui/en/panel_volume_pulldown.xml | 0 indra/newview/skins/default/xui/en/panel_world_map.xml | 0 indra/newview/skins/default/xui/en/role_actions.xml | 0 indra/newview/skins/default/xui/en/sidepanel_appearance.xml | 0 indra/newview/skins/default/xui/en/sidepanel_inventory.xml | 0 indra/newview/skins/default/xui/en/sidepanel_item_info.xml | 0 indra/newview/skins/default/xui/en/sidepanel_task_info.xml | 0 indra/newview/skins/default/xui/en/strings.xml | 0 indra/newview/skins/default/xui/en/teleport_strings.xml | 0 indra/newview/skins/default/xui/en/widgets/accordion.xml | 0 .../newview/skins/default/xui/en/widgets/accordion_tab.xml | 0 indra/newview/skins/default/xui/en/widgets/avatar_icon.xml | 0 .../skins/default/xui/en/widgets/avatar_list_item.xml | 0 .../skins/default/xui/en/widgets/bodyparts_list_item.xml | 0 indra/newview/skins/default/xui/en/widgets/button.xml | 0 indra/newview/skins/default/xui/en/widgets/chat_history.xml | 0 indra/newview/skins/default/xui/en/widgets/check_box.xml | 0 .../skins/default/xui/en/widgets/chiclet_im_adhoc.xml | 0 .../skins/default/xui/en/widgets/chiclet_im_group.xml | 0 .../newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml | 0 .../newview/skins/default/xui/en/widgets/chiclet_offer.xml | 0 .../newview/skins/default/xui/en/widgets/chiclet_panel.xml | 0 .../newview/skins/default/xui/en/widgets/chiclet_script.xml | 0 .../skins/default/xui/en/widgets/clothing_list_item.xml | 0 indra/newview/skins/default/xui/en/widgets/color_swatch.xml | 0 indra/newview/skins/default/xui/en/widgets/combo_box.xml | 0 indra/newview/skins/default/xui/en/widgets/context_menu.xml | 0 .../default/xui/en/widgets/deletable_wearable_list_item.xml | 0 indra/newview/skins/default/xui/en/widgets/drop_down.xml | 0 .../default/xui/en/widgets/dummy_clothing_list_item.xml | 0 .../skins/default/xui/en/widgets/expandable_text.xml | 0 .../newview/skins/default/xui/en/widgets/filter_editor.xml | 0 .../newview/skins/default/xui/en/widgets/flat_list_view.xml | 0 indra/newview/skins/default/xui/en/widgets/floater.xml | 0 .../newview/skins/default/xui/en/widgets/flyout_button.xml | 0 .../skins/default/xui/en/widgets/folder_view_item.xml | 0 .../skins/default/xui/en/widgets/gesture_combo_list.xml | 0 indra/newview/skins/default/xui/en/widgets/group_icon.xml | 0 indra/newview/skins/default/xui/en/widgets/icon.xml | 0 indra/newview/skins/default/xui/en/widgets/inspector.xml | 0 .../skins/default/xui/en/widgets/inventory_list_item.xml | 0 .../skins/default/xui/en/widgets/inventory_panel.xml | 0 indra/newview/skins/default/xui/en/widgets/line_editor.xml | 0 indra/newview/skins/default/xui/en/widgets/list_view.xml | 0 .../skins/default/xui/en/widgets/loading_indicator.xml | 0 .../newview/skins/default/xui/en/widgets/location_input.xml | 0 indra/newview/skins/default/xui/en/widgets/menu.xml | 0 indra/newview/skins/default/xui/en/widgets/menu_item.xml | 0 .../newview/skins/default/xui/en/widgets/menu_item_call.xml | 0 .../skins/default/xui/en/widgets/menu_item_check.xml | 0 .../skins/default/xui/en/widgets/menu_item_separator.xml | 0 .../skins/default/xui/en/widgets/menu_item_tear_off.xml | 0 indra/newview/skins/default/xui/en/widgets/multi_slider.xml | 0 .../skins/default/xui/en/widgets/multi_slider_bar.xml | 0 indra/newview/skins/default/xui/en/widgets/name_editor.xml | 0 .../newview/skins/default/xui/en/widgets/output_monitor.xml | 0 indra/newview/skins/default/xui/en/widgets/panel.xml | 0 .../skins/default/xui/en/widgets/panel_camera_item.xml | 0 indra/newview/skins/default/xui/en/widgets/progress_bar.xml | 0 indra/newview/skins/default/xui/en/widgets/radio_group.xml | 0 indra/newview/skins/default/xui/en/widgets/radio_item.xml | 0 indra/newview/skins/default/xui/en/widgets/scroll_bar.xml | 0 .../skins/default/xui/en/widgets/scroll_column_header.xml | 0 .../skins/default/xui/en/widgets/scroll_container.xml | 0 indra/newview/skins/default/xui/en/widgets/scroll_list.xml | 0 .../skins/default/xui/en/widgets/search_combo_box.xml | 0 .../newview/skins/default/xui/en/widgets/search_editor.xml | 0 indra/newview/skins/default/xui/en/widgets/side_tray.xml | 0 .../skins/default/xui/en/widgets/simple_text_editor.xml | 0 indra/newview/skins/default/xui/en/widgets/slider.xml | 0 indra/newview/skins/default/xui/en/widgets/slider_bar.xml | 0 indra/newview/skins/default/xui/en/widgets/spinner.xml | 0 indra/newview/skins/default/xui/en/widgets/split_button.xml | 0 .../newview/skins/default/xui/en/widgets/tab_container.xml | 0 indra/newview/skins/default/xui/en/widgets/talk_button.xml | 0 .../default/xui/en/widgets/teleport_history_menu_item.xml | 0 indra/newview/skins/default/xui/en/widgets/text.xml | 0 indra/newview/skins/default/xui/en/widgets/text_editor.xml | 0 indra/newview/skins/default/xui/en/widgets/textbase.xml | 0 .../newview/skins/default/xui/en/widgets/texture_picker.xml | 0 .../skins/default/xui/en/widgets/toggleable_menu.xml | 0 indra/newview/skins/default/xui/en/widgets/tool_tip.xml | 0 indra/newview/skins/default/xui/en/widgets/ui_ctrl.xml | 0 indra/newview/skins/default/xui/en/widgets/view_border.xml | 0 indra/newview/skins/default/xui/en/widgets/web_browser.xml | 0 indra/newview/skins/default/xui/en/xui_version.xml | 0 indra/newview/skins/default/xui/es/floater_about.xml | 0 indra/newview/skins/default/xui/es/floater_about_land.xml | 0 indra/newview/skins/default/xui/es/floater_activeim.xml | 0 .../skins/default/xui/es/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/es/floater_auction.xml | 0 .../newview/skins/default/xui/es/floater_avatar_picker.xml | 0 .../skins/default/xui/es/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/es/floater_beacons.xml | 0 .../newview/skins/default/xui/es/floater_build_options.xml | 0 indra/newview/skins/default/xui/es/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/es/floater_bumps.xml | 0 indra/newview/skins/default/xui/es/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/es/floater_buy_currency.xml | 0 .../skins/default/xui/es/floater_buy_currency_html.xml | 0 indra/newview/skins/default/xui/es/floater_buy_land.xml | 0 indra/newview/skins/default/xui/es/floater_buy_object.xml | 0 indra/newview/skins/default/xui/es/floater_camera.xml | 0 indra/newview/skins/default/xui/es/floater_choose_group.xml | 0 indra/newview/skins/default/xui/es/floater_color_picker.xml | 0 indra/newview/skins/default/xui/es/floater_critical.xml | 0 indra/newview/skins/default/xui/es/floater_customize.xml | 0 .../skins/default/xui/es/floater_day_cycle_options.xml | 0 .../skins/default/xui/es/floater_device_settings.xml | 0 indra/newview/skins/default/xui/es/floater_env_settings.xml | 0 indra/newview/skins/default/xui/es/floater_event.xml | 0 indra/newview/skins/default/xui/es/floater_font_test.xml | 0 indra/newview/skins/default/xui/es/floater_gesture.xml | 0 indra/newview/skins/default/xui/es/floater_god_tools.xml | 0 .../skins/default/xui/es/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/es/floater_help_browser.xml | 0 indra/newview/skins/default/xui/es/floater_hud.xml | 0 indra/newview/skins/default/xui/es/floater_im.xml | 0 indra/newview/skins/default/xui/es/floater_im_container.xml | 0 indra/newview/skins/default/xui/es/floater_im_session.xml | 0 .../newview/skins/default/xui/es/floater_image_preview.xml | 0 .../newview/skins/default/xui/es/floater_incoming_call.xml | 0 indra/newview/skins/default/xui/es/floater_inspect.xml | 0 indra/newview/skins/default/xui/es/floater_inventory.xml | 0 .../default/xui/es/floater_inventory_item_properties.xml | 0 .../skins/default/xui/es/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/es/floater_joystick.xml | 0 indra/newview/skins/default/xui/es/floater_lagmeter.xml | 0 .../newview/skins/default/xui/es/floater_land_holdings.xml | 0 .../newview/skins/default/xui/es/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/es/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/es/floater_map.xml | 0 .../newview/skins/default/xui/es/floater_media_browser.xml | 0 .../newview/skins/default/xui/es/floater_media_settings.xml | 0 indra/newview/skins/default/xui/es/floater_mem_leaking.xml | 0 indra/newview/skins/default/xui/es/floater_moveview.xml | 0 indra/newview/skins/default/xui/es/floater_mute_object.xml | 0 indra/newview/skins/default/xui/es/floater_my_friends.xml | 0 indra/newview/skins/default/xui/es/floater_nearby_chat.xml | 0 indra/newview/skins/default/xui/es/floater_openobject.xml | 0 .../newview/skins/default/xui/es/floater_outfit_save_as.xml | 0 .../newview/skins/default/xui/es/floater_outgoing_call.xml | 0 indra/newview/skins/default/xui/es/floater_pay.xml | 0 indra/newview/skins/default/xui/es/floater_pay_object.xml | 0 indra/newview/skins/default/xui/es/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/es/floater_post_process.xml | 0 indra/newview/skins/default/xui/es/floater_postcard.xml | 0 indra/newview/skins/default/xui/es/floater_preferences.xml | 0 .../skins/default/xui/es/floater_preview_animation.xml | 0 .../skins/default/xui/es/floater_preview_classified.xml | 0 .../newview/skins/default/xui/es/floater_preview_event.xml | 0 .../skins/default/xui/es/floater_preview_gesture.xml | 0 .../skins/default/xui/es/floater_preview_gesture_info.xml | 0 .../default/xui/es/floater_preview_gesture_shortcut.xml | 0 .../skins/default/xui/es/floater_preview_gesture_steps.xml | 0 .../skins/default/xui/es/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/es/floater_preview_sound.xml | 0 .../skins/default/xui/es/floater_preview_texture.xml | 0 .../skins/default/xui/es/floater_publish_classified.xml | 0 indra/newview/skins/default/xui/es/floater_region_info.xml | 0 indra/newview/skins/default/xui/es/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/es/floater_script_debug.xml | 0 .../skins/default/xui/es/floater_script_debug_panel.xml | 0 .../newview/skins/default/xui/es/floater_script_limits.xml | 0 .../newview/skins/default/xui/es/floater_script_preview.xml | 0 indra/newview/skins/default/xui/es/floater_script_queue.xml | 0 .../newview/skins/default/xui/es/floater_script_search.xml | 0 indra/newview/skins/default/xui/es/floater_search.xml | 0 indra/newview/skins/default/xui/es/floater_select_key.xml | 0 indra/newview/skins/default/xui/es/floater_sell_land.xml | 0 .../newview/skins/default/xui/es/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/es/floater_snapshot.xml | 0 .../newview/skins/default/xui/es/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/es/floater_statistics.xml | 0 indra/newview/skins/default/xui/es/floater_stats.xml | 0 indra/newview/skins/default/xui/es/floater_sys_well.xml | 0 indra/newview/skins/default/xui/es/floater_telehub.xml | 0 indra/newview/skins/default/xui/es/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/es/floater_tools.xml | 0 indra/newview/skins/default/xui/es/floater_top_objects.xml | 0 indra/newview/skins/default/xui/es/floater_tos.xml | 0 indra/newview/skins/default/xui/es/floater_url_entry.xml | 0 .../newview/skins/default/xui/es/floater_voice_controls.xml | 0 indra/newview/skins/default/xui/es/floater_voice_effect.xml | 0 indra/newview/skins/default/xui/es/floater_water.xml | 0 .../skins/default/xui/es/floater_wearable_save_as.xml | 0 .../skins/default/xui/es/floater_whitelist_entry.xml | 0 .../skins/default/xui/es/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/es/floater_window_size.xml | 0 indra/newview/skins/default/xui/es/floater_world_map.xml | 0 indra/newview/skins/default/xui/es/inspect_avatar.xml | 0 indra/newview/skins/default/xui/es/inspect_group.xml | 0 indra/newview/skins/default/xui/es/inspect_object.xml | 0 .../newview/skins/default/xui/es/inspect_remote_object.xml | 0 indra/newview/skins/default/xui/es/language_settings.xml | 0 .../newview/skins/default/xui/es/menu_attachment_other.xml | 0 indra/newview/skins/default/xui/es/menu_attachment_self.xml | 0 indra/newview/skins/default/xui/es/menu_avatar_icon.xml | 0 indra/newview/skins/default/xui/es/menu_avatar_other.xml | 0 indra/newview/skins/default/xui/es/menu_avatar_self.xml | 0 indra/newview/skins/default/xui/es/menu_bottomtray.xml | 0 indra/newview/skins/default/xui/es/menu_cof_attachment.xml | 0 indra/newview/skins/default/xui/es/menu_cof_body_part.xml | 0 indra/newview/skins/default/xui/es/menu_cof_clothing.xml | 0 indra/newview/skins/default/xui/es/menu_cof_gear.xml | 0 indra/newview/skins/default/xui/es/menu_edit.xml | 0 indra/newview/skins/default/xui/es/menu_favorites.xml | 0 indra/newview/skins/default/xui/es/menu_gesture_gear.xml | 0 indra/newview/skins/default/xui/es/menu_group_plus.xml | 0 indra/newview/skins/default/xui/es/menu_hide_navbar.xml | 0 indra/newview/skins/default/xui/es/menu_im_well_button.xml | 0 indra/newview/skins/default/xui/es/menu_imchiclet_adhoc.xml | 0 indra/newview/skins/default/xui/es/menu_imchiclet_group.xml | 0 indra/newview/skins/default/xui/es/menu_imchiclet_p2p.xml | 0 .../skins/default/xui/es/menu_inspect_avatar_gear.xml | 0 .../skins/default/xui/es/menu_inspect_object_gear.xml | 0 .../newview/skins/default/xui/es/menu_inspect_self_gear.xml | 0 .../newview/skins/default/xui/es/menu_inv_offer_chiclet.xml | 0 indra/newview/skins/default/xui/es/menu_inventory.xml | 0 indra/newview/skins/default/xui/es/menu_inventory_add.xml | 0 .../skins/default/xui/es/menu_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/es/menu_land.xml | 0 indra/newview/skins/default/xui/es/menu_landmark.xml | 0 indra/newview/skins/default/xui/es/menu_login.xml | 0 indra/newview/skins/default/xui/es/menu_mini_map.xml | 0 indra/newview/skins/default/xui/es/menu_navbar.xml | 0 indra/newview/skins/default/xui/es/menu_nearby_chat.xml | 0 .../skins/default/xui/es/menu_notification_well_button.xml | 0 indra/newview/skins/default/xui/es/menu_object.xml | 0 indra/newview/skins/default/xui/es/menu_object_icon.xml | 0 indra/newview/skins/default/xui/es/menu_outfit_gear.xml | 0 indra/newview/skins/default/xui/es/menu_outfit_tab.xml | 0 .../newview/skins/default/xui/es/menu_participant_list.xml | 0 .../skins/default/xui/es/menu_people_friends_view_sort.xml | 0 indra/newview/skins/default/xui/es/menu_people_groups.xml | 0 .../skins/default/xui/es/menu_people_groups_view_sort.xml | 0 indra/newview/skins/default/xui/es/menu_people_nearby.xml | 0 .../skins/default/xui/es/menu_people_nearby_multiselect.xml | 0 .../skins/default/xui/es/menu_people_nearby_view_sort.xml | 0 .../skins/default/xui/es/menu_people_recent_view_sort.xml | 0 indra/newview/skins/default/xui/es/menu_picks.xml | 0 indra/newview/skins/default/xui/es/menu_picks_plus.xml | 0 indra/newview/skins/default/xui/es/menu_place.xml | 0 .../newview/skins/default/xui/es/menu_place_add_button.xml | 0 .../skins/default/xui/es/menu_places_gear_folder.xml | 0 .../skins/default/xui/es/menu_places_gear_landmark.xml | 0 .../newview/skins/default/xui/es/menu_profile_overflow.xml | 0 indra/newview/skins/default/xui/es/menu_save_outfit.xml | 0 indra/newview/skins/default/xui/es/menu_script_chiclet.xml | 0 indra/newview/skins/default/xui/es/menu_slurl.xml | 0 .../skins/default/xui/es/menu_teleport_history_gear.xml | 0 .../skins/default/xui/es/menu_teleport_history_item.xml | 0 .../skins/default/xui/es/menu_teleport_history_tab.xml | 0 indra/newview/skins/default/xui/es/menu_text_editor.xml | 0 indra/newview/skins/default/xui/es/menu_topinfobar.xml | 0 indra/newview/skins/default/xui/es/menu_url_agent.xml | 0 indra/newview/skins/default/xui/es/menu_url_group.xml | 0 indra/newview/skins/default/xui/es/menu_url_http.xml | 0 indra/newview/skins/default/xui/es/menu_url_inventory.xml | 0 indra/newview/skins/default/xui/es/menu_url_map.xml | 0 indra/newview/skins/default/xui/es/menu_url_objectim.xml | 0 indra/newview/skins/default/xui/es/menu_url_parcel.xml | 0 indra/newview/skins/default/xui/es/menu_url_slapp.xml | 0 indra/newview/skins/default/xui/es/menu_url_slurl.xml | 0 indra/newview/skins/default/xui/es/menu_url_teleport.xml | 0 indra/newview/skins/default/xui/es/menu_viewer.xml | 0 .../skins/default/xui/es/menu_wearable_list_item.xml | 0 indra/newview/skins/default/xui/es/menu_wearing_gear.xml | 0 indra/newview/skins/default/xui/es/menu_wearing_tab.xml | 0 indra/newview/skins/default/xui/es/mime_types.xml | 0 indra/newview/skins/default/xui/es/mime_types_linux.xml | 0 indra/newview/skins/default/xui/es/mime_types_mac.xml | 0 indra/newview/skins/default/xui/es/notifications.xml | 0 indra/newview/skins/default/xui/es/outfit_accordion_tab.xml | 0 .../skins/default/xui/es/panel_active_object_row.xml | 0 .../skins/default/xui/es/panel_adhoc_control_panel.xml | 0 indra/newview/skins/default/xui/es/panel_audio_device.xml | 0 .../newview/skins/default/xui/es/panel_avatar_list_item.xml | 0 .../skins/default/xui/es/panel_block_list_sidetray.xml | 0 .../skins/default/xui/es/panel_body_parts_list_item.xml | 0 .../default/xui/es/panel_bodyparts_list_button_bar.xml | 0 indra/newview/skins/default/xui/es/panel_bottomtray.xml | 0 .../newview/skins/default/xui/es/panel_bottomtray_lite.xml | 0 .../newview/skins/default/xui/es/panel_classified_info.xml | 0 .../skins/default/xui/es/panel_clothing_list_button_bar.xml | 0 .../skins/default/xui/es/panel_clothing_list_item.xml | 0 indra/newview/skins/default/xui/es/panel_cof_wearables.xml | 0 .../default/xui/es/panel_deletable_wearable_list_item.xml | 0 .../skins/default/xui/es/panel_dummy_clothing_list_item.xml | 0 indra/newview/skins/default/xui/es/panel_edit_alpha.xml | 0 .../newview/skins/default/xui/es/panel_edit_classified.xml | 0 indra/newview/skins/default/xui/es/panel_edit_eyes.xml | 0 indra/newview/skins/default/xui/es/panel_edit_gloves.xml | 0 indra/newview/skins/default/xui/es/panel_edit_hair.xml | 0 indra/newview/skins/default/xui/es/panel_edit_jacket.xml | 0 indra/newview/skins/default/xui/es/panel_edit_pants.xml | 0 indra/newview/skins/default/xui/es/panel_edit_pick.xml | 0 indra/newview/skins/default/xui/es/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/es/panel_edit_shape.xml | 0 indra/newview/skins/default/xui/es/panel_edit_shirt.xml | 0 indra/newview/skins/default/xui/es/panel_edit_shoes.xml | 0 indra/newview/skins/default/xui/es/panel_edit_skin.xml | 0 indra/newview/skins/default/xui/es/panel_edit_skirt.xml | 0 indra/newview/skins/default/xui/es/panel_edit_socks.xml | 0 indra/newview/skins/default/xui/es/panel_edit_tattoo.xml | 0 .../newview/skins/default/xui/es/panel_edit_underpants.xml | 0 .../newview/skins/default/xui/es/panel_edit_undershirt.xml | 0 indra/newview/skins/default/xui/es/panel_edit_wearable.xml | 0 indra/newview/skins/default/xui/es/panel_friends.xml | 0 .../skins/default/xui/es/panel_group_control_panel.xml | 0 indra/newview/skins/default/xui/es/panel_group_general.xml | 0 .../skins/default/xui/es/panel_group_info_sidetray.xml | 0 indra/newview/skins/default/xui/es/panel_group_invite.xml | 0 .../newview/skins/default/xui/es/panel_group_land_money.xml | 0 .../newview/skins/default/xui/es/panel_group_list_item.xml | 0 indra/newview/skins/default/xui/es/panel_group_notices.xml | 0 indra/newview/skins/default/xui/es/panel_group_notify.xml | 0 indra/newview/skins/default/xui/es/panel_group_roles.xml | 0 indra/newview/skins/default/xui/es/panel_groups.xml | 0 .../newview/skins/default/xui/es/panel_im_control_panel.xml | 0 indra/newview/skins/default/xui/es/panel_inventory_item.xml | 0 indra/newview/skins/default/xui/es/panel_landmark_info.xml | 0 indra/newview/skins/default/xui/es/panel_landmarks.xml | 0 indra/newview/skins/default/xui/es/panel_login.xml | 0 indra/newview/skins/default/xui/es/panel_main_inventory.xml | 0 indra/newview/skins/default/xui/es/panel_me.xml | 0 .../skins/default/xui/es/panel_media_settings_general.xml | 0 .../default/xui/es/panel_media_settings_permissions.xml | 0 .../skins/default/xui/es/panel_media_settings_security.xml | 0 indra/newview/skins/default/xui/es/panel_my_profile.xml | 0 indra/newview/skins/default/xui/es/panel_navigation_bar.xml | 0 indra/newview/skins/default/xui/es/panel_nearby_chat.xml | 0 .../newview/skins/default/xui/es/panel_nearby_chat_bar.xml | 0 indra/newview/skins/default/xui/es/panel_nearby_media.xml | 0 indra/newview/skins/default/xui/es/panel_notes.xml | 0 indra/newview/skins/default/xui/es/panel_online_status.xml | 0 .../skins/default/xui/es/panel_online_status_toast.xml | 0 indra/newview/skins/default/xui/es/panel_outfit_edit.xml | 0 .../skins/default/xui/es/panel_outfits_inventory.xml | 0 .../default/xui/es/panel_outfits_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/es/panel_outfits_list.xml | 0 .../newview/skins/default/xui/es/panel_outfits_wearing.xml | 0 indra/newview/skins/default/xui/es/panel_people.xml | 0 indra/newview/skins/default/xui/es/panel_pick_info.xml | 0 indra/newview/skins/default/xui/es/panel_picks.xml | 0 indra/newview/skins/default/xui/es/panel_place_profile.xml | 0 indra/newview/skins/default/xui/es/panel_places.xml | 0 .../skins/default/xui/es/panel_preferences_advanced.xml | 0 .../skins/default/xui/es/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/es/panel_preferences_chat.xml | 0 .../skins/default/xui/es/panel_preferences_general.xml | 0 .../skins/default/xui/es/panel_preferences_graphics1.xml | 0 .../skins/default/xui/es/panel_preferences_privacy.xml | 0 .../skins/default/xui/es/panel_preferences_setup.xml | 0 .../skins/default/xui/es/panel_preferences_sound.xml | 0 .../skins/default/xui/es/panel_prim_media_controls.xml | 0 indra/newview/skins/default/xui/es/panel_profile.xml | 0 indra/newview/skins/default/xui/es/panel_profile_view.xml | 0 .../newview/skins/default/xui/es/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/es/panel_region_debug.xml | 0 indra/newview/skins/default/xui/es/panel_region_estate.xml | 0 indra/newview/skins/default/xui/es/panel_region_general.xml | 0 .../skins/default/xui/es/panel_region_general_layout.xml | 0 indra/newview/skins/default/xui/es/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/es/panel_region_texture.xml | 0 indra/newview/skins/default/xui/es/panel_script_ed.xml | 0 .../skins/default/xui/es/panel_script_limits_my_avatar.xml | 0 .../default/xui/es/panel_script_limits_region_memory.xml | 0 .../newview/skins/default/xui/es/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/es/panel_side_tray.xml | 0 .../skins/default/xui/es/panel_side_tray_tab_caption.xml | 0 .../skins/default/xui/es/panel_stand_stop_flying.xml | 0 indra/newview/skins/default/xui/es/panel_status_bar.xml | 0 .../newview/skins/default/xui/es/panel_teleport_history.xml | 0 .../skins/default/xui/es/panel_teleport_history_item.xml | 0 indra/newview/skins/default/xui/es/panel_voice_effect.xml | 0 indra/newview/skins/default/xui/es/panel_world_map.xml | 0 indra/newview/skins/default/xui/es/role_actions.xml | 0 indra/newview/skins/default/xui/es/sidepanel_appearance.xml | 0 indra/newview/skins/default/xui/es/sidepanel_inventory.xml | 0 indra/newview/skins/default/xui/es/sidepanel_item_info.xml | 0 indra/newview/skins/default/xui/es/sidepanel_task_info.xml | 0 indra/newview/skins/default/xui/es/strings.xml | 0 indra/newview/skins/default/xui/es/teleport_strings.xml | 0 indra/newview/skins/default/xui/es/xui_version.xml | 0 indra/newview/skins/default/xui/fr/floater_about.xml | 0 indra/newview/skins/default/xui/fr/floater_about_land.xml | 0 indra/newview/skins/default/xui/fr/floater_activeim.xml | 0 .../skins/default/xui/fr/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/fr/floater_auction.xml | 0 .../newview/skins/default/xui/fr/floater_avatar_picker.xml | 0 .../skins/default/xui/fr/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/fr/floater_beacons.xml | 0 .../newview/skins/default/xui/fr/floater_build_options.xml | 0 indra/newview/skins/default/xui/fr/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/fr/floater_bumps.xml | 0 indra/newview/skins/default/xui/fr/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/fr/floater_buy_currency.xml | 0 .../skins/default/xui/fr/floater_buy_currency_html.xml | 0 indra/newview/skins/default/xui/fr/floater_buy_land.xml | 0 indra/newview/skins/default/xui/fr/floater_buy_object.xml | 0 indra/newview/skins/default/xui/fr/floater_camera.xml | 0 indra/newview/skins/default/xui/fr/floater_choose_group.xml | 0 indra/newview/skins/default/xui/fr/floater_color_picker.xml | 0 indra/newview/skins/default/xui/fr/floater_critical.xml | 0 indra/newview/skins/default/xui/fr/floater_customize.xml | 0 .../skins/default/xui/fr/floater_day_cycle_options.xml | 0 .../skins/default/xui/fr/floater_device_settings.xml | 0 indra/newview/skins/default/xui/fr/floater_env_settings.xml | 0 indra/newview/skins/default/xui/fr/floater_event.xml | 0 .../newview/skins/default/xui/fr/floater_first_time_tip.xml | 0 indra/newview/skins/default/xui/fr/floater_font_test.xml | 0 indra/newview/skins/default/xui/fr/floater_gesture.xml | 0 indra/newview/skins/default/xui/fr/floater_god_tools.xml | 0 .../skins/default/xui/fr/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/fr/floater_help_browser.xml | 0 indra/newview/skins/default/xui/fr/floater_hud.xml | 0 indra/newview/skins/default/xui/fr/floater_im.xml | 0 indra/newview/skins/default/xui/fr/floater_im_container.xml | 0 indra/newview/skins/default/xui/fr/floater_im_session.xml | 0 .../newview/skins/default/xui/fr/floater_image_preview.xml | 0 .../newview/skins/default/xui/fr/floater_incoming_call.xml | 0 indra/newview/skins/default/xui/fr/floater_inspect.xml | 0 indra/newview/skins/default/xui/fr/floater_inventory.xml | 0 .../default/xui/fr/floater_inventory_item_properties.xml | 0 .../skins/default/xui/fr/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/fr/floater_joystick.xml | 0 indra/newview/skins/default/xui/fr/floater_lagmeter.xml | 0 .../newview/skins/default/xui/fr/floater_land_holdings.xml | 0 .../newview/skins/default/xui/fr/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/fr/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/fr/floater_map.xml | 0 .../newview/skins/default/xui/fr/floater_media_browser.xml | 0 .../newview/skins/default/xui/fr/floater_media_settings.xml | 0 indra/newview/skins/default/xui/fr/floater_mem_leaking.xml | 0 indra/newview/skins/default/xui/fr/floater_moveview.xml | 0 indra/newview/skins/default/xui/fr/floater_mute_object.xml | 0 indra/newview/skins/default/xui/fr/floater_my_friends.xml | 0 indra/newview/skins/default/xui/fr/floater_nearby_chat.xml | 0 indra/newview/skins/default/xui/fr/floater_notification.xml | 0 .../skins/default/xui/fr/floater_notifications_console.xml | 0 indra/newview/skins/default/xui/fr/floater_openobject.xml | 0 .../newview/skins/default/xui/fr/floater_outfit_save_as.xml | 0 .../newview/skins/default/xui/fr/floater_outgoing_call.xml | 0 indra/newview/skins/default/xui/fr/floater_pay.xml | 0 indra/newview/skins/default/xui/fr/floater_pay_object.xml | 0 indra/newview/skins/default/xui/fr/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/fr/floater_post_process.xml | 0 indra/newview/skins/default/xui/fr/floater_postcard.xml | 0 indra/newview/skins/default/xui/fr/floater_preferences.xml | 0 .../skins/default/xui/fr/floater_preview_animation.xml | 0 .../skins/default/xui/fr/floater_preview_classified.xml | 0 .../newview/skins/default/xui/fr/floater_preview_event.xml | 0 .../skins/default/xui/fr/floater_preview_gesture.xml | 0 .../skins/default/xui/fr/floater_preview_gesture_info.xml | 0 .../default/xui/fr/floater_preview_gesture_shortcut.xml | 0 .../skins/default/xui/fr/floater_preview_gesture_steps.xml | 0 .../skins/default/xui/fr/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/fr/floater_preview_sound.xml | 0 .../skins/default/xui/fr/floater_preview_texture.xml | 0 .../skins/default/xui/fr/floater_publish_classified.xml | 0 indra/newview/skins/default/xui/fr/floater_region_info.xml | 0 indra/newview/skins/default/xui/fr/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/fr/floater_script_debug.xml | 0 .../skins/default/xui/fr/floater_script_debug_panel.xml | 0 .../newview/skins/default/xui/fr/floater_script_limits.xml | 0 .../newview/skins/default/xui/fr/floater_script_preview.xml | 0 indra/newview/skins/default/xui/fr/floater_script_queue.xml | 0 .../newview/skins/default/xui/fr/floater_script_search.xml | 0 indra/newview/skins/default/xui/fr/floater_search.xml | 0 indra/newview/skins/default/xui/fr/floater_select_key.xml | 0 indra/newview/skins/default/xui/fr/floater_sell_land.xml | 0 .../newview/skins/default/xui/fr/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/fr/floater_snapshot.xml | 0 .../newview/skins/default/xui/fr/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/fr/floater_statistics.xml | 0 indra/newview/skins/default/xui/fr/floater_stats.xml | 0 indra/newview/skins/default/xui/fr/floater_sys_well.xml | 0 indra/newview/skins/default/xui/fr/floater_telehub.xml | 0 indra/newview/skins/default/xui/fr/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/fr/floater_tools.xml | 0 indra/newview/skins/default/xui/fr/floater_top_objects.xml | 0 indra/newview/skins/default/xui/fr/floater_tos.xml | 0 indra/newview/skins/default/xui/fr/floater_url_entry.xml | 0 .../newview/skins/default/xui/fr/floater_voice_controls.xml | 0 indra/newview/skins/default/xui/fr/floater_voice_effect.xml | 0 indra/newview/skins/default/xui/fr/floater_water.xml | 0 .../skins/default/xui/fr/floater_wearable_save_as.xml | 0 .../skins/default/xui/fr/floater_whitelist_entry.xml | 0 .../skins/default/xui/fr/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/fr/floater_window_size.xml | 0 indra/newview/skins/default/xui/fr/floater_world_map.xml | 0 indra/newview/skins/default/xui/fr/fonts.xml | 0 indra/newview/skins/default/xui/fr/inspect_avatar.xml | 0 indra/newview/skins/default/xui/fr/inspect_group.xml | 0 indra/newview/skins/default/xui/fr/inspect_object.xml | 0 .../newview/skins/default/xui/fr/inspect_remote_object.xml | 0 indra/newview/skins/default/xui/fr/language_settings.xml | 0 .../newview/skins/default/xui/fr/menu_attachment_other.xml | 0 indra/newview/skins/default/xui/fr/menu_attachment_self.xml | 0 indra/newview/skins/default/xui/fr/menu_avatar_icon.xml | 0 indra/newview/skins/default/xui/fr/menu_avatar_other.xml | 0 indra/newview/skins/default/xui/fr/menu_avatar_self.xml | 0 indra/newview/skins/default/xui/fr/menu_bottomtray.xml | 0 indra/newview/skins/default/xui/fr/menu_cof_attachment.xml | 0 indra/newview/skins/default/xui/fr/menu_cof_body_part.xml | 0 indra/newview/skins/default/xui/fr/menu_cof_clothing.xml | 0 indra/newview/skins/default/xui/fr/menu_cof_gear.xml | 0 indra/newview/skins/default/xui/fr/menu_edit.xml | 0 indra/newview/skins/default/xui/fr/menu_favorites.xml | 0 indra/newview/skins/default/xui/fr/menu_gesture_gear.xml | 0 indra/newview/skins/default/xui/fr/menu_group_plus.xml | 0 indra/newview/skins/default/xui/fr/menu_hide_navbar.xml | 0 indra/newview/skins/default/xui/fr/menu_im_well_button.xml | 0 indra/newview/skins/default/xui/fr/menu_imchiclet_adhoc.xml | 0 indra/newview/skins/default/xui/fr/menu_imchiclet_group.xml | 0 indra/newview/skins/default/xui/fr/menu_imchiclet_p2p.xml | 0 .../skins/default/xui/fr/menu_inspect_avatar_gear.xml | 0 .../skins/default/xui/fr/menu_inspect_object_gear.xml | 0 .../newview/skins/default/xui/fr/menu_inspect_self_gear.xml | 0 .../newview/skins/default/xui/fr/menu_inv_offer_chiclet.xml | 0 indra/newview/skins/default/xui/fr/menu_inventory.xml | 0 indra/newview/skins/default/xui/fr/menu_inventory_add.xml | 0 .../skins/default/xui/fr/menu_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/fr/menu_land.xml | 0 indra/newview/skins/default/xui/fr/menu_landmark.xml | 0 indra/newview/skins/default/xui/fr/menu_login.xml | 0 indra/newview/skins/default/xui/fr/menu_mini_map.xml | 0 indra/newview/skins/default/xui/fr/menu_navbar.xml | 0 indra/newview/skins/default/xui/fr/menu_nearby_chat.xml | 0 .../skins/default/xui/fr/menu_notification_well_button.xml | 0 indra/newview/skins/default/xui/fr/menu_object.xml | 0 indra/newview/skins/default/xui/fr/menu_object_icon.xml | 0 indra/newview/skins/default/xui/fr/menu_outfit_gear.xml | 0 indra/newview/skins/default/xui/fr/menu_outfit_tab.xml | 0 .../newview/skins/default/xui/fr/menu_participant_list.xml | 0 .../skins/default/xui/fr/menu_people_friends_view_sort.xml | 0 indra/newview/skins/default/xui/fr/menu_people_groups.xml | 0 .../skins/default/xui/fr/menu_people_groups_view_sort.xml | 0 indra/newview/skins/default/xui/fr/menu_people_nearby.xml | 0 .../skins/default/xui/fr/menu_people_nearby_multiselect.xml | 0 .../skins/default/xui/fr/menu_people_nearby_view_sort.xml | 0 .../skins/default/xui/fr/menu_people_recent_view_sort.xml | 0 indra/newview/skins/default/xui/fr/menu_picks.xml | 0 indra/newview/skins/default/xui/fr/menu_picks_plus.xml | 0 indra/newview/skins/default/xui/fr/menu_place.xml | 0 .../newview/skins/default/xui/fr/menu_place_add_button.xml | 0 .../skins/default/xui/fr/menu_places_gear_folder.xml | 0 .../skins/default/xui/fr/menu_places_gear_landmark.xml | 0 .../newview/skins/default/xui/fr/menu_profile_overflow.xml | 0 indra/newview/skins/default/xui/fr/menu_save_outfit.xml | 0 indra/newview/skins/default/xui/fr/menu_script_chiclet.xml | 0 indra/newview/skins/default/xui/fr/menu_slurl.xml | 0 .../skins/default/xui/fr/menu_teleport_history_gear.xml | 0 .../skins/default/xui/fr/menu_teleport_history_item.xml | 0 .../skins/default/xui/fr/menu_teleport_history_tab.xml | 0 indra/newview/skins/default/xui/fr/menu_text_editor.xml | 0 indra/newview/skins/default/xui/fr/menu_topinfobar.xml | 0 indra/newview/skins/default/xui/fr/menu_url_agent.xml | 0 indra/newview/skins/default/xui/fr/menu_url_group.xml | 0 indra/newview/skins/default/xui/fr/menu_url_http.xml | 0 indra/newview/skins/default/xui/fr/menu_url_inventory.xml | 0 indra/newview/skins/default/xui/fr/menu_url_map.xml | 0 indra/newview/skins/default/xui/fr/menu_url_objectim.xml | 0 indra/newview/skins/default/xui/fr/menu_url_parcel.xml | 0 indra/newview/skins/default/xui/fr/menu_url_slapp.xml | 0 indra/newview/skins/default/xui/fr/menu_url_slurl.xml | 0 indra/newview/skins/default/xui/fr/menu_url_teleport.xml | 0 indra/newview/skins/default/xui/fr/menu_viewer.xml | 0 .../skins/default/xui/fr/menu_wearable_list_item.xml | 0 indra/newview/skins/default/xui/fr/menu_wearing_gear.xml | 0 indra/newview/skins/default/xui/fr/menu_wearing_tab.xml | 0 indra/newview/skins/default/xui/fr/mime_types.xml | 0 indra/newview/skins/default/xui/fr/mime_types_linux.xml | 0 indra/newview/skins/default/xui/fr/mime_types_mac.xml | 0 indra/newview/skins/default/xui/fr/notifications.xml | 0 indra/newview/skins/default/xui/fr/outfit_accordion_tab.xml | 0 .../skins/default/xui/fr/panel_active_object_row.xml | 0 indra/newview/skins/default/xui/fr/panel_activeim_row.xml | 0 .../skins/default/xui/fr/panel_adhoc_control_panel.xml | 0 indra/newview/skins/default/xui/fr/panel_audio_device.xml | 0 .../newview/skins/default/xui/fr/panel_avatar_list_item.xml | 0 indra/newview/skins/default/xui/fr/panel_avatar_tag.xml | 0 .../skins/default/xui/fr/panel_block_list_sidetray.xml | 0 .../skins/default/xui/fr/panel_body_parts_list_item.xml | 0 .../default/xui/fr/panel_bodyparts_list_button_bar.xml | 0 indra/newview/skins/default/xui/fr/panel_bottomtray.xml | 0 .../newview/skins/default/xui/fr/panel_bottomtray_lite.xml | 0 indra/newview/skins/default/xui/fr/panel_chat_header.xml | 0 .../newview/skins/default/xui/fr/panel_classified_info.xml | 0 .../skins/default/xui/fr/panel_clothing_list_button_bar.xml | 0 .../skins/default/xui/fr/panel_clothing_list_item.xml | 0 indra/newview/skins/default/xui/fr/panel_cof_wearables.xml | 0 .../default/xui/fr/panel_deletable_wearable_list_item.xml | 0 .../skins/default/xui/fr/panel_dummy_clothing_list_item.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_alpha.xml | 0 .../newview/skins/default/xui/fr/panel_edit_classified.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_eyes.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_gloves.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_hair.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_jacket.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_pants.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_pick.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_shape.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_shirt.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_shoes.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_skin.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_skirt.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_socks.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml | 0 .../newview/skins/default/xui/fr/panel_edit_underpants.xml | 0 .../newview/skins/default/xui/fr/panel_edit_undershirt.xml | 0 indra/newview/skins/default/xui/fr/panel_edit_wearable.xml | 0 indra/newview/skins/default/xui/fr/panel_friends.xml | 0 .../skins/default/xui/fr/panel_group_control_panel.xml | 0 indra/newview/skins/default/xui/fr/panel_group_general.xml | 0 .../skins/default/xui/fr/panel_group_info_sidetray.xml | 0 indra/newview/skins/default/xui/fr/panel_group_invite.xml | 0 .../newview/skins/default/xui/fr/panel_group_land_money.xml | 0 .../newview/skins/default/xui/fr/panel_group_list_item.xml | 0 indra/newview/skins/default/xui/fr/panel_group_notices.xml | 0 indra/newview/skins/default/xui/fr/panel_group_notify.xml | 0 indra/newview/skins/default/xui/fr/panel_group_roles.xml | 0 indra/newview/skins/default/xui/fr/panel_groups.xml | 0 .../newview/skins/default/xui/fr/panel_im_control_panel.xml | 0 .../newview/skins/default/xui/fr/panel_instant_message.xml | 0 indra/newview/skins/default/xui/fr/panel_inventory_item.xml | 0 indra/newview/skins/default/xui/fr/panel_landmark_info.xml | 0 indra/newview/skins/default/xui/fr/panel_landmarks.xml | 0 indra/newview/skins/default/xui/fr/panel_login.xml | 0 indra/newview/skins/default/xui/fr/panel_main_inventory.xml | 0 indra/newview/skins/default/xui/fr/panel_me.xml | 0 .../skins/default/xui/fr/panel_media_settings_general.xml | 0 .../default/xui/fr/panel_media_settings_permissions.xml | 0 .../skins/default/xui/fr/panel_media_settings_security.xml | 0 indra/newview/skins/default/xui/fr/panel_my_profile.xml | 0 indra/newview/skins/default/xui/fr/panel_navigation_bar.xml | 0 indra/newview/skins/default/xui/fr/panel_nearby_chat.xml | 0 .../newview/skins/default/xui/fr/panel_nearby_chat_bar.xml | 0 indra/newview/skins/default/xui/fr/panel_nearby_media.xml | 0 indra/newview/skins/default/xui/fr/panel_notes.xml | 0 .../skins/default/xui/fr/panel_notifications_channel.xml | 0 indra/newview/skins/default/xui/fr/panel_online_status.xml | 0 .../skins/default/xui/fr/panel_online_status_toast.xml | 0 indra/newview/skins/default/xui/fr/panel_outfit_edit.xml | 0 .../skins/default/xui/fr/panel_outfits_inventory.xml | 0 .../default/xui/fr/panel_outfits_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/fr/panel_outfits_list.xml | 0 .../newview/skins/default/xui/fr/panel_outfits_wearing.xml | 0 indra/newview/skins/default/xui/fr/panel_people.xml | 0 indra/newview/skins/default/xui/fr/panel_pick_info.xml | 0 indra/newview/skins/default/xui/fr/panel_picks.xml | 0 indra/newview/skins/default/xui/fr/panel_place_profile.xml | 0 indra/newview/skins/default/xui/fr/panel_places.xml | 0 .../skins/default/xui/fr/panel_preferences_advanced.xml | 0 .../skins/default/xui/fr/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/fr/panel_preferences_chat.xml | 0 .../skins/default/xui/fr/panel_preferences_general.xml | 0 .../skins/default/xui/fr/panel_preferences_graphics1.xml | 0 .../skins/default/xui/fr/panel_preferences_privacy.xml | 0 .../skins/default/xui/fr/panel_preferences_setup.xml | 0 .../skins/default/xui/fr/panel_preferences_sound.xml | 0 .../skins/default/xui/fr/panel_prim_media_controls.xml | 0 indra/newview/skins/default/xui/fr/panel_profile.xml | 0 indra/newview/skins/default/xui/fr/panel_profile_view.xml | 0 .../newview/skins/default/xui/fr/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/fr/panel_region_debug.xml | 0 indra/newview/skins/default/xui/fr/panel_region_estate.xml | 0 indra/newview/skins/default/xui/fr/panel_region_general.xml | 0 .../skins/default/xui/fr/panel_region_general_layout.xml | 0 indra/newview/skins/default/xui/fr/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/fr/panel_region_texture.xml | 0 indra/newview/skins/default/xui/fr/panel_script_ed.xml | 0 .../skins/default/xui/fr/panel_script_limits_my_avatar.xml | 0 .../default/xui/fr/panel_script_limits_region_memory.xml | 0 .../newview/skins/default/xui/fr/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/fr/panel_side_tray.xml | 0 .../skins/default/xui/fr/panel_side_tray_tab_caption.xml | 0 .../skins/default/xui/fr/panel_sidetray_home_tab.xml | 0 .../skins/default/xui/fr/panel_stand_stop_flying.xml | 0 indra/newview/skins/default/xui/fr/panel_status_bar.xml | 0 indra/newview/skins/default/xui/fr/panel_sys_well_item.xml | 0 .../newview/skins/default/xui/fr/panel_teleport_history.xml | 0 .../skins/default/xui/fr/panel_teleport_history_item.xml | 0 indra/newview/skins/default/xui/fr/panel_voice_effect.xml | 0 indra/newview/skins/default/xui/fr/panel_world_map.xml | 0 indra/newview/skins/default/xui/fr/role_actions.xml | 0 indra/newview/skins/default/xui/fr/sidepanel_appearance.xml | 0 indra/newview/skins/default/xui/fr/sidepanel_inventory.xml | 0 indra/newview/skins/default/xui/fr/sidepanel_item_info.xml | 0 indra/newview/skins/default/xui/fr/sidepanel_task_info.xml | 0 indra/newview/skins/default/xui/fr/strings.xml | 0 indra/newview/skins/default/xui/fr/teleport_strings.xml | 0 indra/newview/skins/default/xui/fr/xui_version.xml | 0 indra/newview/skins/default/xui/it/floater_about.xml | 0 indra/newview/skins/default/xui/it/floater_about_land.xml | 0 indra/newview/skins/default/xui/it/floater_activeim.xml | 0 .../skins/default/xui/it/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/it/floater_auction.xml | 0 .../newview/skins/default/xui/it/floater_avatar_picker.xml | 0 .../skins/default/xui/it/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/it/floater_beacons.xml | 0 .../newview/skins/default/xui/it/floater_build_options.xml | 0 indra/newview/skins/default/xui/it/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/it/floater_bumps.xml | 0 indra/newview/skins/default/xui/it/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/it/floater_buy_currency.xml | 0 .../skins/default/xui/it/floater_buy_currency_html.xml | 0 indra/newview/skins/default/xui/it/floater_buy_land.xml | 0 indra/newview/skins/default/xui/it/floater_buy_object.xml | 0 indra/newview/skins/default/xui/it/floater_camera.xml | 0 indra/newview/skins/default/xui/it/floater_choose_group.xml | 0 indra/newview/skins/default/xui/it/floater_color_picker.xml | 0 indra/newview/skins/default/xui/it/floater_critical.xml | 0 indra/newview/skins/default/xui/it/floater_customize.xml | 0 .../skins/default/xui/it/floater_day_cycle_options.xml | 0 .../skins/default/xui/it/floater_device_settings.xml | 0 indra/newview/skins/default/xui/it/floater_env_settings.xml | 0 indra/newview/skins/default/xui/it/floater_event.xml | 0 indra/newview/skins/default/xui/it/floater_font_test.xml | 0 indra/newview/skins/default/xui/it/floater_gesture.xml | 0 indra/newview/skins/default/xui/it/floater_god_tools.xml | 0 .../skins/default/xui/it/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/it/floater_help_browser.xml | 0 indra/newview/skins/default/xui/it/floater_hud.xml | 0 indra/newview/skins/default/xui/it/floater_im.xml | 0 indra/newview/skins/default/xui/it/floater_im_container.xml | 0 indra/newview/skins/default/xui/it/floater_im_session.xml | 0 .../newview/skins/default/xui/it/floater_image_preview.xml | 0 .../newview/skins/default/xui/it/floater_incoming_call.xml | 0 indra/newview/skins/default/xui/it/floater_inspect.xml | 0 indra/newview/skins/default/xui/it/floater_inventory.xml | 0 .../default/xui/it/floater_inventory_item_properties.xml | 0 .../skins/default/xui/it/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/it/floater_joystick.xml | 0 indra/newview/skins/default/xui/it/floater_lagmeter.xml | 0 .../newview/skins/default/xui/it/floater_land_holdings.xml | 0 .../newview/skins/default/xui/it/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/it/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/it/floater_map.xml | 0 .../newview/skins/default/xui/it/floater_media_browser.xml | 0 .../newview/skins/default/xui/it/floater_media_settings.xml | 0 indra/newview/skins/default/xui/it/floater_mem_leaking.xml | 0 indra/newview/skins/default/xui/it/floater_moveview.xml | 0 indra/newview/skins/default/xui/it/floater_mute_object.xml | 0 indra/newview/skins/default/xui/it/floater_my_friends.xml | 0 indra/newview/skins/default/xui/it/floater_nearby_chat.xml | 0 indra/newview/skins/default/xui/it/floater_openobject.xml | 0 .../newview/skins/default/xui/it/floater_outfit_save_as.xml | 0 .../newview/skins/default/xui/it/floater_outgoing_call.xml | 0 indra/newview/skins/default/xui/it/floater_pay.xml | 0 indra/newview/skins/default/xui/it/floater_pay_object.xml | 0 indra/newview/skins/default/xui/it/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/it/floater_post_process.xml | 0 indra/newview/skins/default/xui/it/floater_postcard.xml | 0 indra/newview/skins/default/xui/it/floater_preferences.xml | 0 .../skins/default/xui/it/floater_preview_animation.xml | 0 .../skins/default/xui/it/floater_preview_classified.xml | 0 .../newview/skins/default/xui/it/floater_preview_event.xml | 0 .../skins/default/xui/it/floater_preview_gesture.xml | 0 .../skins/default/xui/it/floater_preview_gesture_info.xml | 0 .../default/xui/it/floater_preview_gesture_shortcut.xml | 0 .../skins/default/xui/it/floater_preview_gesture_steps.xml | 0 .../skins/default/xui/it/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/it/floater_preview_sound.xml | 0 .../skins/default/xui/it/floater_preview_texture.xml | 0 .../skins/default/xui/it/floater_publish_classified.xml | 0 indra/newview/skins/default/xui/it/floater_region_info.xml | 0 indra/newview/skins/default/xui/it/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/it/floater_script_debug.xml | 0 .../skins/default/xui/it/floater_script_debug_panel.xml | 0 .../newview/skins/default/xui/it/floater_script_limits.xml | 0 .../newview/skins/default/xui/it/floater_script_preview.xml | 0 indra/newview/skins/default/xui/it/floater_script_queue.xml | 0 .../newview/skins/default/xui/it/floater_script_search.xml | 0 indra/newview/skins/default/xui/it/floater_search.xml | 0 indra/newview/skins/default/xui/it/floater_select_key.xml | 0 indra/newview/skins/default/xui/it/floater_sell_land.xml | 0 .../newview/skins/default/xui/it/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/it/floater_snapshot.xml | 0 .../newview/skins/default/xui/it/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/it/floater_statistics.xml | 0 indra/newview/skins/default/xui/it/floater_stats.xml | 0 indra/newview/skins/default/xui/it/floater_sys_well.xml | 0 indra/newview/skins/default/xui/it/floater_telehub.xml | 0 indra/newview/skins/default/xui/it/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/it/floater_tools.xml | 0 indra/newview/skins/default/xui/it/floater_top_objects.xml | 0 indra/newview/skins/default/xui/it/floater_tos.xml | 0 indra/newview/skins/default/xui/it/floater_url_entry.xml | 0 .../newview/skins/default/xui/it/floater_voice_controls.xml | 0 indra/newview/skins/default/xui/it/floater_voice_effect.xml | 0 indra/newview/skins/default/xui/it/floater_water.xml | 0 .../skins/default/xui/it/floater_wearable_save_as.xml | 0 .../skins/default/xui/it/floater_whitelist_entry.xml | 0 .../skins/default/xui/it/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/it/floater_window_size.xml | 0 indra/newview/skins/default/xui/it/floater_world_map.xml | 0 indra/newview/skins/default/xui/it/inspect_avatar.xml | 0 indra/newview/skins/default/xui/it/inspect_group.xml | 0 indra/newview/skins/default/xui/it/inspect_object.xml | 0 .../newview/skins/default/xui/it/inspect_remote_object.xml | 0 indra/newview/skins/default/xui/it/language_settings.xml | 0 .../newview/skins/default/xui/it/menu_attachment_other.xml | 0 indra/newview/skins/default/xui/it/menu_attachment_self.xml | 0 indra/newview/skins/default/xui/it/menu_avatar_icon.xml | 0 indra/newview/skins/default/xui/it/menu_avatar_other.xml | 0 indra/newview/skins/default/xui/it/menu_avatar_self.xml | 0 indra/newview/skins/default/xui/it/menu_bottomtray.xml | 0 indra/newview/skins/default/xui/it/menu_cof_attachment.xml | 0 indra/newview/skins/default/xui/it/menu_cof_body_part.xml | 0 indra/newview/skins/default/xui/it/menu_cof_clothing.xml | 0 indra/newview/skins/default/xui/it/menu_cof_gear.xml | 0 indra/newview/skins/default/xui/it/menu_edit.xml | 0 indra/newview/skins/default/xui/it/menu_favorites.xml | 0 indra/newview/skins/default/xui/it/menu_gesture_gear.xml | 0 indra/newview/skins/default/xui/it/menu_group_plus.xml | 0 indra/newview/skins/default/xui/it/menu_hide_navbar.xml | 0 indra/newview/skins/default/xui/it/menu_im_well_button.xml | 0 indra/newview/skins/default/xui/it/menu_imchiclet_adhoc.xml | 0 indra/newview/skins/default/xui/it/menu_imchiclet_group.xml | 0 indra/newview/skins/default/xui/it/menu_imchiclet_p2p.xml | 0 .../skins/default/xui/it/menu_inspect_avatar_gear.xml | 0 .../skins/default/xui/it/menu_inspect_object_gear.xml | 0 .../newview/skins/default/xui/it/menu_inspect_self_gear.xml | 0 .../newview/skins/default/xui/it/menu_inv_offer_chiclet.xml | 0 indra/newview/skins/default/xui/it/menu_inventory.xml | 0 indra/newview/skins/default/xui/it/menu_inventory_add.xml | 0 .../skins/default/xui/it/menu_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/it/menu_land.xml | 0 indra/newview/skins/default/xui/it/menu_landmark.xml | 0 indra/newview/skins/default/xui/it/menu_login.xml | 0 indra/newview/skins/default/xui/it/menu_mini_map.xml | 0 indra/newview/skins/default/xui/it/menu_navbar.xml | 0 indra/newview/skins/default/xui/it/menu_nearby_chat.xml | 0 .../skins/default/xui/it/menu_notification_well_button.xml | 0 indra/newview/skins/default/xui/it/menu_object.xml | 0 indra/newview/skins/default/xui/it/menu_object_icon.xml | 0 indra/newview/skins/default/xui/it/menu_outfit_gear.xml | 0 indra/newview/skins/default/xui/it/menu_outfit_tab.xml | 0 .../newview/skins/default/xui/it/menu_participant_list.xml | 0 .../skins/default/xui/it/menu_people_friends_view_sort.xml | 0 indra/newview/skins/default/xui/it/menu_people_groups.xml | 0 .../skins/default/xui/it/menu_people_groups_view_sort.xml | 0 indra/newview/skins/default/xui/it/menu_people_nearby.xml | 0 .../skins/default/xui/it/menu_people_nearby_multiselect.xml | 0 .../skins/default/xui/it/menu_people_nearby_view_sort.xml | 0 .../skins/default/xui/it/menu_people_recent_view_sort.xml | 0 indra/newview/skins/default/xui/it/menu_picks.xml | 0 indra/newview/skins/default/xui/it/menu_picks_plus.xml | 0 indra/newview/skins/default/xui/it/menu_place.xml | 0 .../newview/skins/default/xui/it/menu_place_add_button.xml | 0 .../skins/default/xui/it/menu_places_gear_folder.xml | 0 .../skins/default/xui/it/menu_places_gear_landmark.xml | 0 .../newview/skins/default/xui/it/menu_profile_overflow.xml | 0 indra/newview/skins/default/xui/it/menu_save_outfit.xml | 0 indra/newview/skins/default/xui/it/menu_script_chiclet.xml | 0 indra/newview/skins/default/xui/it/menu_slurl.xml | 0 .../skins/default/xui/it/menu_teleport_history_gear.xml | 0 .../skins/default/xui/it/menu_teleport_history_item.xml | 0 .../skins/default/xui/it/menu_teleport_history_tab.xml | 0 indra/newview/skins/default/xui/it/menu_text_editor.xml | 0 indra/newview/skins/default/xui/it/menu_topinfobar.xml | 0 indra/newview/skins/default/xui/it/menu_url_agent.xml | 0 indra/newview/skins/default/xui/it/menu_url_group.xml | 0 indra/newview/skins/default/xui/it/menu_url_http.xml | 0 indra/newview/skins/default/xui/it/menu_url_inventory.xml | 0 indra/newview/skins/default/xui/it/menu_url_map.xml | 0 indra/newview/skins/default/xui/it/menu_url_objectim.xml | 0 indra/newview/skins/default/xui/it/menu_url_parcel.xml | 0 indra/newview/skins/default/xui/it/menu_url_slapp.xml | 0 indra/newview/skins/default/xui/it/menu_url_slurl.xml | 0 indra/newview/skins/default/xui/it/menu_url_teleport.xml | 0 indra/newview/skins/default/xui/it/menu_viewer.xml | 0 .../skins/default/xui/it/menu_wearable_list_item.xml | 0 indra/newview/skins/default/xui/it/menu_wearing_gear.xml | 0 indra/newview/skins/default/xui/it/menu_wearing_tab.xml | 0 indra/newview/skins/default/xui/it/mime_types.xml | 0 indra/newview/skins/default/xui/it/mime_types_linux.xml | 0 indra/newview/skins/default/xui/it/mime_types_mac.xml | 0 indra/newview/skins/default/xui/it/notifications.xml | 0 indra/newview/skins/default/xui/it/outfit_accordion_tab.xml | 0 .../skins/default/xui/it/panel_active_object_row.xml | 0 .../skins/default/xui/it/panel_adhoc_control_panel.xml | 0 indra/newview/skins/default/xui/it/panel_audio_device.xml | 0 .../newview/skins/default/xui/it/panel_avatar_list_item.xml | 0 .../skins/default/xui/it/panel_block_list_sidetray.xml | 0 .../skins/default/xui/it/panel_body_parts_list_item.xml | 0 .../default/xui/it/panel_bodyparts_list_button_bar.xml | 0 indra/newview/skins/default/xui/it/panel_bottomtray.xml | 0 .../newview/skins/default/xui/it/panel_bottomtray_lite.xml | 0 .../newview/skins/default/xui/it/panel_classified_info.xml | 0 .../skins/default/xui/it/panel_clothing_list_button_bar.xml | 0 .../skins/default/xui/it/panel_clothing_list_item.xml | 0 indra/newview/skins/default/xui/it/panel_cof_wearables.xml | 0 .../default/xui/it/panel_deletable_wearable_list_item.xml | 0 .../skins/default/xui/it/panel_dummy_clothing_list_item.xml | 0 indra/newview/skins/default/xui/it/panel_edit_alpha.xml | 0 .../newview/skins/default/xui/it/panel_edit_classified.xml | 0 indra/newview/skins/default/xui/it/panel_edit_eyes.xml | 0 indra/newview/skins/default/xui/it/panel_edit_gloves.xml | 0 indra/newview/skins/default/xui/it/panel_edit_hair.xml | 0 indra/newview/skins/default/xui/it/panel_edit_jacket.xml | 0 indra/newview/skins/default/xui/it/panel_edit_pants.xml | 0 indra/newview/skins/default/xui/it/panel_edit_pick.xml | 0 indra/newview/skins/default/xui/it/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/it/panel_edit_shape.xml | 0 indra/newview/skins/default/xui/it/panel_edit_shirt.xml | 0 indra/newview/skins/default/xui/it/panel_edit_shoes.xml | 0 indra/newview/skins/default/xui/it/panel_edit_skin.xml | 0 indra/newview/skins/default/xui/it/panel_edit_skirt.xml | 0 indra/newview/skins/default/xui/it/panel_edit_socks.xml | 0 indra/newview/skins/default/xui/it/panel_edit_tattoo.xml | 0 .../newview/skins/default/xui/it/panel_edit_underpants.xml | 0 .../newview/skins/default/xui/it/panel_edit_undershirt.xml | 0 indra/newview/skins/default/xui/it/panel_edit_wearable.xml | 0 indra/newview/skins/default/xui/it/panel_friends.xml | 0 .../skins/default/xui/it/panel_group_control_panel.xml | 0 indra/newview/skins/default/xui/it/panel_group_general.xml | 0 .../skins/default/xui/it/panel_group_info_sidetray.xml | 0 indra/newview/skins/default/xui/it/panel_group_invite.xml | 0 .../newview/skins/default/xui/it/panel_group_land_money.xml | 0 .../newview/skins/default/xui/it/panel_group_list_item.xml | 0 indra/newview/skins/default/xui/it/panel_group_notices.xml | 0 indra/newview/skins/default/xui/it/panel_group_notify.xml | 0 indra/newview/skins/default/xui/it/panel_group_roles.xml | 0 indra/newview/skins/default/xui/it/panel_groups.xml | 0 .../newview/skins/default/xui/it/panel_im_control_panel.xml | 0 indra/newview/skins/default/xui/it/panel_inventory_item.xml | 0 indra/newview/skins/default/xui/it/panel_landmark_info.xml | 0 indra/newview/skins/default/xui/it/panel_landmarks.xml | 0 indra/newview/skins/default/xui/it/panel_login.xml | 0 indra/newview/skins/default/xui/it/panel_main_inventory.xml | 0 indra/newview/skins/default/xui/it/panel_me.xml | 0 .../skins/default/xui/it/panel_media_settings_general.xml | 0 .../default/xui/it/panel_media_settings_permissions.xml | 0 .../skins/default/xui/it/panel_media_settings_security.xml | 0 indra/newview/skins/default/xui/it/panel_my_profile.xml | 0 indra/newview/skins/default/xui/it/panel_navigation_bar.xml | 0 indra/newview/skins/default/xui/it/panel_nearby_chat.xml | 0 .../newview/skins/default/xui/it/panel_nearby_chat_bar.xml | 0 indra/newview/skins/default/xui/it/panel_nearby_media.xml | 0 indra/newview/skins/default/xui/it/panel_notes.xml | 0 indra/newview/skins/default/xui/it/panel_online_status.xml | 0 .../skins/default/xui/it/panel_online_status_toast.xml | 0 indra/newview/skins/default/xui/it/panel_outfit_edit.xml | 0 .../skins/default/xui/it/panel_outfits_inventory.xml | 0 .../default/xui/it/panel_outfits_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/it/panel_outfits_list.xml | 0 .../newview/skins/default/xui/it/panel_outfits_wearing.xml | 0 indra/newview/skins/default/xui/it/panel_people.xml | 0 indra/newview/skins/default/xui/it/panel_pick_info.xml | 0 indra/newview/skins/default/xui/it/panel_picks.xml | 0 indra/newview/skins/default/xui/it/panel_place_profile.xml | 0 indra/newview/skins/default/xui/it/panel_places.xml | 0 .../skins/default/xui/it/panel_preferences_advanced.xml | 0 .../skins/default/xui/it/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/it/panel_preferences_chat.xml | 0 .../skins/default/xui/it/panel_preferences_general.xml | 0 .../skins/default/xui/it/panel_preferences_graphics1.xml | 0 .../skins/default/xui/it/panel_preferences_privacy.xml | 0 .../skins/default/xui/it/panel_preferences_setup.xml | 0 .../skins/default/xui/it/panel_preferences_sound.xml | 0 .../skins/default/xui/it/panel_prim_media_controls.xml | 0 indra/newview/skins/default/xui/it/panel_profile.xml | 0 indra/newview/skins/default/xui/it/panel_profile_view.xml | 0 .../newview/skins/default/xui/it/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/it/panel_region_debug.xml | 0 indra/newview/skins/default/xui/it/panel_region_estate.xml | 0 indra/newview/skins/default/xui/it/panel_region_general.xml | 0 .../skins/default/xui/it/panel_region_general_layout.xml | 0 indra/newview/skins/default/xui/it/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/it/panel_region_texture.xml | 0 indra/newview/skins/default/xui/it/panel_script_ed.xml | 0 .../skins/default/xui/it/panel_script_limits_my_avatar.xml | 0 .../default/xui/it/panel_script_limits_region_memory.xml | 0 .../newview/skins/default/xui/it/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/it/panel_side_tray.xml | 0 .../skins/default/xui/it/panel_side_tray_tab_caption.xml | 0 .../skins/default/xui/it/panel_stand_stop_flying.xml | 0 indra/newview/skins/default/xui/it/panel_status_bar.xml | 0 .../newview/skins/default/xui/it/panel_teleport_history.xml | 0 .../skins/default/xui/it/panel_teleport_history_item.xml | 0 indra/newview/skins/default/xui/it/panel_voice_effect.xml | 0 indra/newview/skins/default/xui/it/panel_world_map.xml | 0 indra/newview/skins/default/xui/it/role_actions.xml | 0 indra/newview/skins/default/xui/it/sidepanel_appearance.xml | 0 indra/newview/skins/default/xui/it/sidepanel_inventory.xml | 0 indra/newview/skins/default/xui/it/sidepanel_item_info.xml | 0 indra/newview/skins/default/xui/it/sidepanel_task_info.xml | 0 indra/newview/skins/default/xui/it/strings.xml | 0 indra/newview/skins/default/xui/it/teleport_strings.xml | 0 indra/newview/skins/default/xui/ja/floater_about.xml | 0 indra/newview/skins/default/xui/ja/floater_about_land.xml | 0 indra/newview/skins/default/xui/ja/floater_activeim.xml | 0 .../skins/default/xui/ja/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/ja/floater_auction.xml | 0 .../newview/skins/default/xui/ja/floater_avatar_picker.xml | 0 .../skins/default/xui/ja/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/ja/floater_beacons.xml | 0 .../newview/skins/default/xui/ja/floater_build_options.xml | 0 indra/newview/skins/default/xui/ja/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/ja/floater_bumps.xml | 0 indra/newview/skins/default/xui/ja/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/ja/floater_buy_currency.xml | 0 .../skins/default/xui/ja/floater_buy_currency_html.xml | 0 indra/newview/skins/default/xui/ja/floater_buy_land.xml | 0 indra/newview/skins/default/xui/ja/floater_buy_object.xml | 0 indra/newview/skins/default/xui/ja/floater_camera.xml | 0 indra/newview/skins/default/xui/ja/floater_choose_group.xml | 0 indra/newview/skins/default/xui/ja/floater_color_picker.xml | 0 indra/newview/skins/default/xui/ja/floater_critical.xml | 0 indra/newview/skins/default/xui/ja/floater_customize.xml | 0 .../skins/default/xui/ja/floater_day_cycle_options.xml | 0 .../skins/default/xui/ja/floater_device_settings.xml | 0 indra/newview/skins/default/xui/ja/floater_env_settings.xml | 0 indra/newview/skins/default/xui/ja/floater_event.xml | 0 .../newview/skins/default/xui/ja/floater_first_time_tip.xml | 0 indra/newview/skins/default/xui/ja/floater_font_test.xml | 0 indra/newview/skins/default/xui/ja/floater_gesture.xml | 0 indra/newview/skins/default/xui/ja/floater_god_tools.xml | 0 .../skins/default/xui/ja/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/ja/floater_help_browser.xml | 0 indra/newview/skins/default/xui/ja/floater_hud.xml | 0 indra/newview/skins/default/xui/ja/floater_im.xml | 0 indra/newview/skins/default/xui/ja/floater_im_container.xml | 0 indra/newview/skins/default/xui/ja/floater_im_session.xml | 0 .../newview/skins/default/xui/ja/floater_image_preview.xml | 0 .../newview/skins/default/xui/ja/floater_incoming_call.xml | 0 indra/newview/skins/default/xui/ja/floater_inspect.xml | 0 indra/newview/skins/default/xui/ja/floater_inventory.xml | 0 .../default/xui/ja/floater_inventory_item_properties.xml | 0 .../skins/default/xui/ja/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/ja/floater_joystick.xml | 0 indra/newview/skins/default/xui/ja/floater_lagmeter.xml | 0 .../newview/skins/default/xui/ja/floater_land_holdings.xml | 0 .../newview/skins/default/xui/ja/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/ja/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/ja/floater_map.xml | 0 .../newview/skins/default/xui/ja/floater_media_browser.xml | 0 .../newview/skins/default/xui/ja/floater_media_settings.xml | 0 indra/newview/skins/default/xui/ja/floater_mem_leaking.xml | 0 indra/newview/skins/default/xui/ja/floater_moveview.xml | 0 indra/newview/skins/default/xui/ja/floater_mute_object.xml | 0 indra/newview/skins/default/xui/ja/floater_my_friends.xml | 0 indra/newview/skins/default/xui/ja/floater_nearby_chat.xml | 0 indra/newview/skins/default/xui/ja/floater_notification.xml | 0 .../skins/default/xui/ja/floater_notifications_console.xml | 0 indra/newview/skins/default/xui/ja/floater_openobject.xml | 0 .../newview/skins/default/xui/ja/floater_outfit_save_as.xml | 0 .../newview/skins/default/xui/ja/floater_outgoing_call.xml | 0 indra/newview/skins/default/xui/ja/floater_pay.xml | 0 indra/newview/skins/default/xui/ja/floater_pay_object.xml | 0 indra/newview/skins/default/xui/ja/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/ja/floater_post_process.xml | 0 indra/newview/skins/default/xui/ja/floater_postcard.xml | 0 indra/newview/skins/default/xui/ja/floater_preferences.xml | 0 .../skins/default/xui/ja/floater_preview_animation.xml | 0 .../skins/default/xui/ja/floater_preview_classified.xml | 0 .../newview/skins/default/xui/ja/floater_preview_event.xml | 0 .../skins/default/xui/ja/floater_preview_gesture.xml | 0 .../skins/default/xui/ja/floater_preview_gesture_info.xml | 0 .../default/xui/ja/floater_preview_gesture_shortcut.xml | 0 .../skins/default/xui/ja/floater_preview_gesture_steps.xml | 0 .../skins/default/xui/ja/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/ja/floater_preview_sound.xml | 0 .../skins/default/xui/ja/floater_preview_texture.xml | 0 .../skins/default/xui/ja/floater_publish_classified.xml | 0 indra/newview/skins/default/xui/ja/floater_region_info.xml | 0 indra/newview/skins/default/xui/ja/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/ja/floater_script_debug.xml | 0 .../skins/default/xui/ja/floater_script_debug_panel.xml | 0 .../newview/skins/default/xui/ja/floater_script_limits.xml | 0 .../newview/skins/default/xui/ja/floater_script_preview.xml | 0 indra/newview/skins/default/xui/ja/floater_script_queue.xml | 0 .../newview/skins/default/xui/ja/floater_script_search.xml | 0 indra/newview/skins/default/xui/ja/floater_search.xml | 0 indra/newview/skins/default/xui/ja/floater_select_key.xml | 0 indra/newview/skins/default/xui/ja/floater_sell_land.xml | 0 .../newview/skins/default/xui/ja/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/ja/floater_snapshot.xml | 0 .../newview/skins/default/xui/ja/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/ja/floater_statistics.xml | 0 indra/newview/skins/default/xui/ja/floater_stats.xml | 0 indra/newview/skins/default/xui/ja/floater_sys_well.xml | 0 indra/newview/skins/default/xui/ja/floater_telehub.xml | 0 indra/newview/skins/default/xui/ja/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/ja/floater_tools.xml | 0 indra/newview/skins/default/xui/ja/floater_top_objects.xml | 0 indra/newview/skins/default/xui/ja/floater_tos.xml | 0 indra/newview/skins/default/xui/ja/floater_url_entry.xml | 0 .../newview/skins/default/xui/ja/floater_voice_controls.xml | 0 indra/newview/skins/default/xui/ja/floater_voice_effect.xml | 0 indra/newview/skins/default/xui/ja/floater_water.xml | 0 .../skins/default/xui/ja/floater_wearable_save_as.xml | 0 .../skins/default/xui/ja/floater_whitelist_entry.xml | 0 .../skins/default/xui/ja/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/ja/floater_window_size.xml | 0 indra/newview/skins/default/xui/ja/floater_world_map.xml | 0 indra/newview/skins/default/xui/ja/inspect_avatar.xml | 0 indra/newview/skins/default/xui/ja/inspect_group.xml | 0 indra/newview/skins/default/xui/ja/inspect_object.xml | 0 .../newview/skins/default/xui/ja/inspect_remote_object.xml | 0 indra/newview/skins/default/xui/ja/language_settings.xml | 0 .../newview/skins/default/xui/ja/menu_attachment_other.xml | 0 indra/newview/skins/default/xui/ja/menu_attachment_self.xml | 0 indra/newview/skins/default/xui/ja/menu_avatar_icon.xml | 0 indra/newview/skins/default/xui/ja/menu_avatar_other.xml | 0 indra/newview/skins/default/xui/ja/menu_avatar_self.xml | 0 indra/newview/skins/default/xui/ja/menu_bottomtray.xml | 0 indra/newview/skins/default/xui/ja/menu_cof_attachment.xml | 0 indra/newview/skins/default/xui/ja/menu_cof_body_part.xml | 0 indra/newview/skins/default/xui/ja/menu_cof_clothing.xml | 0 indra/newview/skins/default/xui/ja/menu_cof_gear.xml | 0 indra/newview/skins/default/xui/ja/menu_edit.xml | 0 indra/newview/skins/default/xui/ja/menu_favorites.xml | 0 indra/newview/skins/default/xui/ja/menu_gesture_gear.xml | 0 indra/newview/skins/default/xui/ja/menu_group_plus.xml | 0 indra/newview/skins/default/xui/ja/menu_hide_navbar.xml | 0 indra/newview/skins/default/xui/ja/menu_im_well_button.xml | 0 indra/newview/skins/default/xui/ja/menu_imchiclet_adhoc.xml | 0 indra/newview/skins/default/xui/ja/menu_imchiclet_group.xml | 0 indra/newview/skins/default/xui/ja/menu_imchiclet_p2p.xml | 0 .../skins/default/xui/ja/menu_inspect_avatar_gear.xml | 0 .../skins/default/xui/ja/menu_inspect_object_gear.xml | 0 .../newview/skins/default/xui/ja/menu_inspect_self_gear.xml | 0 .../newview/skins/default/xui/ja/menu_inv_offer_chiclet.xml | 0 indra/newview/skins/default/xui/ja/menu_inventory.xml | 0 indra/newview/skins/default/xui/ja/menu_inventory_add.xml | 0 .../skins/default/xui/ja/menu_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/ja/menu_land.xml | 0 indra/newview/skins/default/xui/ja/menu_landmark.xml | 0 indra/newview/skins/default/xui/ja/menu_login.xml | 0 indra/newview/skins/default/xui/ja/menu_mini_map.xml | 0 indra/newview/skins/default/xui/ja/menu_navbar.xml | 0 indra/newview/skins/default/xui/ja/menu_nearby_chat.xml | 0 .../skins/default/xui/ja/menu_notification_well_button.xml | 0 indra/newview/skins/default/xui/ja/menu_object.xml | 0 indra/newview/skins/default/xui/ja/menu_object_icon.xml | 0 indra/newview/skins/default/xui/ja/menu_outfit_gear.xml | 0 indra/newview/skins/default/xui/ja/menu_outfit_tab.xml | 0 .../newview/skins/default/xui/ja/menu_participant_list.xml | 0 .../skins/default/xui/ja/menu_people_friends_view_sort.xml | 0 indra/newview/skins/default/xui/ja/menu_people_groups.xml | 0 .../skins/default/xui/ja/menu_people_groups_view_sort.xml | 0 indra/newview/skins/default/xui/ja/menu_people_nearby.xml | 0 .../skins/default/xui/ja/menu_people_nearby_multiselect.xml | 0 .../skins/default/xui/ja/menu_people_nearby_view_sort.xml | 0 .../skins/default/xui/ja/menu_people_recent_view_sort.xml | 0 indra/newview/skins/default/xui/ja/menu_picks.xml | 0 indra/newview/skins/default/xui/ja/menu_picks_plus.xml | 0 indra/newview/skins/default/xui/ja/menu_place.xml | 0 .../newview/skins/default/xui/ja/menu_place_add_button.xml | 0 .../skins/default/xui/ja/menu_places_gear_folder.xml | 0 .../skins/default/xui/ja/menu_places_gear_landmark.xml | 0 .../newview/skins/default/xui/ja/menu_profile_overflow.xml | 0 indra/newview/skins/default/xui/ja/menu_save_outfit.xml | 0 indra/newview/skins/default/xui/ja/menu_script_chiclet.xml | 0 indra/newview/skins/default/xui/ja/menu_slurl.xml | 0 .../skins/default/xui/ja/menu_teleport_history_gear.xml | 0 .../skins/default/xui/ja/menu_teleport_history_item.xml | 0 .../skins/default/xui/ja/menu_teleport_history_tab.xml | 0 indra/newview/skins/default/xui/ja/menu_text_editor.xml | 0 indra/newview/skins/default/xui/ja/menu_topinfobar.xml | 0 indra/newview/skins/default/xui/ja/menu_url_agent.xml | 0 indra/newview/skins/default/xui/ja/menu_url_group.xml | 0 indra/newview/skins/default/xui/ja/menu_url_http.xml | 0 indra/newview/skins/default/xui/ja/menu_url_inventory.xml | 0 indra/newview/skins/default/xui/ja/menu_url_map.xml | 0 indra/newview/skins/default/xui/ja/menu_url_objectim.xml | 0 indra/newview/skins/default/xui/ja/menu_url_parcel.xml | 0 indra/newview/skins/default/xui/ja/menu_url_slapp.xml | 0 indra/newview/skins/default/xui/ja/menu_url_slurl.xml | 0 indra/newview/skins/default/xui/ja/menu_url_teleport.xml | 0 indra/newview/skins/default/xui/ja/menu_viewer.xml | 0 .../skins/default/xui/ja/menu_wearable_list_item.xml | 0 indra/newview/skins/default/xui/ja/menu_wearing_gear.xml | 0 indra/newview/skins/default/xui/ja/menu_wearing_tab.xml | 0 indra/newview/skins/default/xui/ja/mime_types.xml | 0 indra/newview/skins/default/xui/ja/mime_types_linux.xml | 0 indra/newview/skins/default/xui/ja/mime_types_mac.xml | 0 indra/newview/skins/default/xui/ja/notifications.xml | 0 indra/newview/skins/default/xui/ja/outfit_accordion_tab.xml | 0 .../skins/default/xui/ja/panel_active_object_row.xml | 0 indra/newview/skins/default/xui/ja/panel_activeim_row.xml | 0 .../skins/default/xui/ja/panel_adhoc_control_panel.xml | 0 indra/newview/skins/default/xui/ja/panel_audio_device.xml | 0 .../newview/skins/default/xui/ja/panel_avatar_list_item.xml | 0 indra/newview/skins/default/xui/ja/panel_avatar_tag.xml | 0 .../skins/default/xui/ja/panel_block_list_sidetray.xml | 0 .../skins/default/xui/ja/panel_body_parts_list_item.xml | 0 .../default/xui/ja/panel_bodyparts_list_button_bar.xml | 0 indra/newview/skins/default/xui/ja/panel_bottomtray.xml | 0 .../newview/skins/default/xui/ja/panel_bottomtray_lite.xml | 0 indra/newview/skins/default/xui/ja/panel_chat_header.xml | 0 .../newview/skins/default/xui/ja/panel_classified_info.xml | 0 .../skins/default/xui/ja/panel_clothing_list_button_bar.xml | 0 .../skins/default/xui/ja/panel_clothing_list_item.xml | 0 indra/newview/skins/default/xui/ja/panel_cof_wearables.xml | 0 .../default/xui/ja/panel_deletable_wearable_list_item.xml | 0 .../skins/default/xui/ja/panel_dummy_clothing_list_item.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_alpha.xml | 0 .../newview/skins/default/xui/ja/panel_edit_classified.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_eyes.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_gloves.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_hair.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_jacket.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_pants.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_pick.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_shape.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_shirt.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_shoes.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_skin.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_skirt.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_socks.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml | 0 .../newview/skins/default/xui/ja/panel_edit_underpants.xml | 0 .../newview/skins/default/xui/ja/panel_edit_undershirt.xml | 0 indra/newview/skins/default/xui/ja/panel_edit_wearable.xml | 0 indra/newview/skins/default/xui/ja/panel_friends.xml | 0 .../skins/default/xui/ja/panel_group_control_panel.xml | 0 indra/newview/skins/default/xui/ja/panel_group_general.xml | 0 .../skins/default/xui/ja/panel_group_info_sidetray.xml | 0 indra/newview/skins/default/xui/ja/panel_group_invite.xml | 0 .../newview/skins/default/xui/ja/panel_group_land_money.xml | 0 .../newview/skins/default/xui/ja/panel_group_list_item.xml | 0 indra/newview/skins/default/xui/ja/panel_group_notices.xml | 0 indra/newview/skins/default/xui/ja/panel_group_notify.xml | 0 indra/newview/skins/default/xui/ja/panel_group_roles.xml | 0 indra/newview/skins/default/xui/ja/panel_groups.xml | 0 .../newview/skins/default/xui/ja/panel_im_control_panel.xml | 0 .../newview/skins/default/xui/ja/panel_instant_message.xml | 0 indra/newview/skins/default/xui/ja/panel_inventory_item.xml | 0 indra/newview/skins/default/xui/ja/panel_landmark_info.xml | 0 indra/newview/skins/default/xui/ja/panel_landmarks.xml | 0 indra/newview/skins/default/xui/ja/panel_login.xml | 0 indra/newview/skins/default/xui/ja/panel_main_inventory.xml | 0 indra/newview/skins/default/xui/ja/panel_me.xml | 0 .../skins/default/xui/ja/panel_media_settings_general.xml | 0 .../default/xui/ja/panel_media_settings_permissions.xml | 0 .../skins/default/xui/ja/panel_media_settings_security.xml | 0 indra/newview/skins/default/xui/ja/panel_my_profile.xml | 0 indra/newview/skins/default/xui/ja/panel_navigation_bar.xml | 0 indra/newview/skins/default/xui/ja/panel_nearby_chat.xml | 0 .../newview/skins/default/xui/ja/panel_nearby_chat_bar.xml | 0 indra/newview/skins/default/xui/ja/panel_nearby_media.xml | 0 indra/newview/skins/default/xui/ja/panel_notes.xml | 0 .../skins/default/xui/ja/panel_notifications_channel.xml | 0 indra/newview/skins/default/xui/ja/panel_online_status.xml | 0 .../skins/default/xui/ja/panel_online_status_toast.xml | 0 indra/newview/skins/default/xui/ja/panel_outfit_edit.xml | 0 .../skins/default/xui/ja/panel_outfits_inventory.xml | 0 .../default/xui/ja/panel_outfits_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/ja/panel_outfits_list.xml | 0 .../newview/skins/default/xui/ja/panel_outfits_wearing.xml | 0 indra/newview/skins/default/xui/ja/panel_people.xml | 0 indra/newview/skins/default/xui/ja/panel_pick_info.xml | 0 indra/newview/skins/default/xui/ja/panel_picks.xml | 0 indra/newview/skins/default/xui/ja/panel_place_profile.xml | 0 indra/newview/skins/default/xui/ja/panel_places.xml | 0 .../skins/default/xui/ja/panel_preferences_advanced.xml | 0 .../skins/default/xui/ja/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/ja/panel_preferences_chat.xml | 0 .../skins/default/xui/ja/panel_preferences_general.xml | 0 .../skins/default/xui/ja/panel_preferences_graphics1.xml | 0 .../skins/default/xui/ja/panel_preferences_privacy.xml | 0 .../skins/default/xui/ja/panel_preferences_setup.xml | 0 .../skins/default/xui/ja/panel_preferences_sound.xml | 0 .../skins/default/xui/ja/panel_prim_media_controls.xml | 0 indra/newview/skins/default/xui/ja/panel_profile.xml | 0 indra/newview/skins/default/xui/ja/panel_profile_view.xml | 0 .../newview/skins/default/xui/ja/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/ja/panel_region_debug.xml | 0 indra/newview/skins/default/xui/ja/panel_region_estate.xml | 0 indra/newview/skins/default/xui/ja/panel_region_general.xml | 0 .../skins/default/xui/ja/panel_region_general_layout.xml | 0 indra/newview/skins/default/xui/ja/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/ja/panel_region_texture.xml | 0 indra/newview/skins/default/xui/ja/panel_script_ed.xml | 0 .../skins/default/xui/ja/panel_script_limits_my_avatar.xml | 0 .../default/xui/ja/panel_script_limits_region_memory.xml | 0 .../newview/skins/default/xui/ja/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/ja/panel_side_tray.xml | 0 .../skins/default/xui/ja/panel_side_tray_tab_caption.xml | 0 .../skins/default/xui/ja/panel_sidetray_home_tab.xml | 0 .../skins/default/xui/ja/panel_stand_stop_flying.xml | 0 indra/newview/skins/default/xui/ja/panel_status_bar.xml | 0 indra/newview/skins/default/xui/ja/panel_sys_well_item.xml | 0 .../newview/skins/default/xui/ja/panel_teleport_history.xml | 0 .../skins/default/xui/ja/panel_teleport_history_item.xml | 0 indra/newview/skins/default/xui/ja/panel_voice_effect.xml | 0 indra/newview/skins/default/xui/ja/panel_world_map.xml | 0 indra/newview/skins/default/xui/ja/role_actions.xml | 0 indra/newview/skins/default/xui/ja/sidepanel_appearance.xml | 0 indra/newview/skins/default/xui/ja/sidepanel_inventory.xml | 0 indra/newview/skins/default/xui/ja/sidepanel_item_info.xml | 0 indra/newview/skins/default/xui/ja/sidepanel_task_info.xml | 0 indra/newview/skins/default/xui/ja/strings.xml | 0 indra/newview/skins/default/xui/ja/teleport_strings.xml | 0 indra/newview/skins/default/xui/ja/xui_version.xml | 0 indra/newview/skins/default/xui/nl/floater_about.xml | 0 indra/newview/skins/default/xui/nl/floater_about_land.xml | 0 .../skins/default/xui/nl/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/nl/floater_auction.xml | 0 .../newview/skins/default/xui/nl/floater_avatar_picker.xml | 0 .../skins/default/xui/nl/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/nl/floater_beacons.xml | 0 .../newview/skins/default/xui/nl/floater_build_options.xml | 0 indra/newview/skins/default/xui/nl/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/nl/floater_bumps.xml | 0 indra/newview/skins/default/xui/nl/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/nl/floater_buy_currency.xml | 0 indra/newview/skins/default/xui/nl/floater_buy_land.xml | 0 indra/newview/skins/default/xui/nl/floater_buy_object.xml | 0 indra/newview/skins/default/xui/nl/floater_camera.xml | 0 indra/newview/skins/default/xui/nl/floater_choose_group.xml | 0 indra/newview/skins/default/xui/nl/floater_color_picker.xml | 0 indra/newview/skins/default/xui/nl/floater_critical.xml | 0 indra/newview/skins/default/xui/nl/floater_customize.xml | 0 .../skins/default/xui/nl/floater_day_cycle_options.xml | 0 indra/newview/skins/default/xui/nl/floater_env_settings.xml | 0 indra/newview/skins/default/xui/nl/floater_font_test.xml | 0 indra/newview/skins/default/xui/nl/floater_gesture.xml | 0 .../skins/default/xui/nl/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/nl/floater_hud.xml | 0 indra/newview/skins/default/xui/nl/floater_im.xml | 0 .../newview/skins/default/xui/nl/floater_image_preview.xml | 0 indra/newview/skins/default/xui/nl/floater_inspect.xml | 0 indra/newview/skins/default/xui/nl/floater_inventory.xml | 0 .../default/xui/nl/floater_inventory_item_properties.xml | 0 .../skins/default/xui/nl/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/nl/floater_joystick.xml | 0 indra/newview/skins/default/xui/nl/floater_lagmeter.xml | 0 .../newview/skins/default/xui/nl/floater_land_holdings.xml | 0 .../newview/skins/default/xui/nl/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/nl/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/nl/floater_map.xml | 0 .../newview/skins/default/xui/nl/floater_media_browser.xml | 0 indra/newview/skins/default/xui/nl/floater_mem_leaking.xml | 0 indra/newview/skins/default/xui/nl/floater_moveview.xml | 0 indra/newview/skins/default/xui/nl/floater_mute_object.xml | 0 indra/newview/skins/default/xui/nl/floater_my_friends.xml | 0 indra/newview/skins/default/xui/nl/floater_openobject.xml | 0 indra/newview/skins/default/xui/nl/floater_pay.xml | 0 indra/newview/skins/default/xui/nl/floater_pay_object.xml | 0 indra/newview/skins/default/xui/nl/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/nl/floater_post_process.xml | 0 indra/newview/skins/default/xui/nl/floater_postcard.xml | 0 indra/newview/skins/default/xui/nl/floater_preferences.xml | 0 .../skins/default/xui/nl/floater_preview_animation.xml | 0 .../skins/default/xui/nl/floater_preview_gesture.xml | 0 .../skins/default/xui/nl/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/nl/floater_preview_sound.xml | 0 .../skins/default/xui/nl/floater_preview_texture.xml | 0 indra/newview/skins/default/xui/nl/floater_region_info.xml | 0 indra/newview/skins/default/xui/nl/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/nl/floater_script_debug.xml | 0 .../newview/skins/default/xui/nl/floater_script_preview.xml | 0 indra/newview/skins/default/xui/nl/floater_script_queue.xml | 0 .../newview/skins/default/xui/nl/floater_script_search.xml | 0 indra/newview/skins/default/xui/nl/floater_select_key.xml | 0 indra/newview/skins/default/xui/nl/floater_sell_land.xml | 0 .../newview/skins/default/xui/nl/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/nl/floater_snapshot.xml | 0 .../newview/skins/default/xui/nl/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/nl/floater_statistics.xml | 0 indra/newview/skins/default/xui/nl/floater_stats.xml | 0 indra/newview/skins/default/xui/nl/floater_telehub.xml | 0 indra/newview/skins/default/xui/nl/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/nl/floater_tools.xml | 0 indra/newview/skins/default/xui/nl/floater_top_objects.xml | 0 indra/newview/skins/default/xui/nl/floater_tos.xml | 0 indra/newview/skins/default/xui/nl/floater_url_entry.xml | 0 indra/newview/skins/default/xui/nl/floater_water.xml | 0 .../skins/default/xui/nl/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/nl/floater_world_map.xml | 0 indra/newview/skins/default/xui/nl/language_settings.xml | 0 indra/newview/skins/default/xui/nl/menu_inventory.xml | 0 indra/newview/skins/default/xui/nl/menu_inventory_add.xml | 0 indra/newview/skins/default/xui/nl/menu_login.xml | 0 indra/newview/skins/default/xui/nl/menu_mini_map.xml | 0 indra/newview/skins/default/xui/nl/menu_picks.xml | 0 .../skins/default/xui/nl/menu_places_gear_landmark.xml | 0 indra/newview/skins/default/xui/nl/menu_slurl.xml | 0 indra/newview/skins/default/xui/nl/menu_viewer.xml | 0 indra/newview/skins/default/xui/nl/mime_types.xml | 0 indra/newview/skins/default/xui/nl/notifications.xml | 0 indra/newview/skins/default/xui/nl/panel_audio_device.xml | 0 .../skins/default/xui/nl/panel_block_list_sidetray.xml | 0 indra/newview/skins/default/xui/nl/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/nl/panel_friends.xml | 0 indra/newview/skins/default/xui/nl/panel_group_general.xml | 0 indra/newview/skins/default/xui/nl/panel_group_invite.xml | 0 .../newview/skins/default/xui/nl/panel_group_land_money.xml | 0 indra/newview/skins/default/xui/nl/panel_group_notices.xml | 0 indra/newview/skins/default/xui/nl/panel_group_roles.xml | 0 indra/newview/skins/default/xui/nl/panel_groups.xml | 0 indra/newview/skins/default/xui/nl/panel_login.xml | 0 indra/newview/skins/default/xui/nl/panel_main_inventory.xml | 0 .../skins/default/xui/nl/panel_preferences_advanced.xml | 0 .../skins/default/xui/nl/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/nl/panel_preferences_chat.xml | 0 .../skins/default/xui/nl/panel_preferences_general.xml | 0 .../skins/default/xui/nl/panel_preferences_graphics1.xml | 0 .../skins/default/xui/nl/panel_preferences_privacy.xml | 0 .../skins/default/xui/nl/panel_preferences_setup.xml | 0 .../skins/default/xui/nl/panel_preferences_sound.xml | 0 .../newview/skins/default/xui/nl/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/nl/panel_region_debug.xml | 0 indra/newview/skins/default/xui/nl/panel_region_estate.xml | 0 indra/newview/skins/default/xui/nl/panel_region_general.xml | 0 indra/newview/skins/default/xui/nl/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/nl/panel_region_texture.xml | 0 .../newview/skins/default/xui/nl/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/nl/panel_status_bar.xml | 0 indra/newview/skins/default/xui/nl/panel_world_map.xml | 0 indra/newview/skins/default/xui/nl/role_actions.xml | 0 indra/newview/skins/default/xui/nl/strings.xml | 0 indra/newview/skins/default/xui/nl/teleport_strings.xml | 0 indra/newview/skins/default/xui/pl/floater_about.xml | 0 indra/newview/skins/default/xui/pl/floater_about_land.xml | 0 indra/newview/skins/default/xui/pl/floater_activeim.xml | 0 .../skins/default/xui/pl/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/pl/floater_auction.xml | 0 .../newview/skins/default/xui/pl/floater_avatar_picker.xml | 0 .../skins/default/xui/pl/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/pl/floater_beacons.xml | 0 .../newview/skins/default/xui/pl/floater_build_options.xml | 0 indra/newview/skins/default/xui/pl/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/pl/floater_bumps.xml | 0 indra/newview/skins/default/xui/pl/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/pl/floater_buy_currency.xml | 0 .../skins/default/xui/pl/floater_buy_currency_html.xml | 0 indra/newview/skins/default/xui/pl/floater_buy_land.xml | 0 indra/newview/skins/default/xui/pl/floater_buy_object.xml | 0 indra/newview/skins/default/xui/pl/floater_camera.xml | 0 indra/newview/skins/default/xui/pl/floater_choose_group.xml | 0 indra/newview/skins/default/xui/pl/floater_color_picker.xml | 0 indra/newview/skins/default/xui/pl/floater_critical.xml | 0 indra/newview/skins/default/xui/pl/floater_customize.xml | 0 .../skins/default/xui/pl/floater_day_cycle_options.xml | 0 .../skins/default/xui/pl/floater_device_settings.xml | 0 indra/newview/skins/default/xui/pl/floater_env_settings.xml | 0 indra/newview/skins/default/xui/pl/floater_event.xml | 0 indra/newview/skins/default/xui/pl/floater_font_test.xml | 0 indra/newview/skins/default/xui/pl/floater_gesture.xml | 0 indra/newview/skins/default/xui/pl/floater_god_tools.xml | 0 .../skins/default/xui/pl/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/pl/floater_help_browser.xml | 0 indra/newview/skins/default/xui/pl/floater_hud.xml | 0 indra/newview/skins/default/xui/pl/floater_im.xml | 0 indra/newview/skins/default/xui/pl/floater_im_container.xml | 0 indra/newview/skins/default/xui/pl/floater_im_session.xml | 0 .../newview/skins/default/xui/pl/floater_image_preview.xml | 0 .../newview/skins/default/xui/pl/floater_incoming_call.xml | 0 indra/newview/skins/default/xui/pl/floater_inspect.xml | 0 indra/newview/skins/default/xui/pl/floater_inventory.xml | 0 .../default/xui/pl/floater_inventory_item_properties.xml | 0 .../skins/default/xui/pl/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/pl/floater_joystick.xml | 0 indra/newview/skins/default/xui/pl/floater_lagmeter.xml | 0 .../newview/skins/default/xui/pl/floater_land_holdings.xml | 0 .../newview/skins/default/xui/pl/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/pl/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/pl/floater_map.xml | 0 .../newview/skins/default/xui/pl/floater_media_browser.xml | 0 .../newview/skins/default/xui/pl/floater_media_settings.xml | 0 indra/newview/skins/default/xui/pl/floater_mem_leaking.xml | 0 indra/newview/skins/default/xui/pl/floater_moveview.xml | 0 indra/newview/skins/default/xui/pl/floater_mute_object.xml | 0 indra/newview/skins/default/xui/pl/floater_my_friends.xml | 0 indra/newview/skins/default/xui/pl/floater_nearby_chat.xml | 0 indra/newview/skins/default/xui/pl/floater_openobject.xml | 0 .../newview/skins/default/xui/pl/floater_outfit_save_as.xml | 0 .../newview/skins/default/xui/pl/floater_outgoing_call.xml | 0 indra/newview/skins/default/xui/pl/floater_pay.xml | 0 indra/newview/skins/default/xui/pl/floater_pay_object.xml | 0 indra/newview/skins/default/xui/pl/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/pl/floater_post_process.xml | 0 indra/newview/skins/default/xui/pl/floater_postcard.xml | 0 indra/newview/skins/default/xui/pl/floater_preferences.xml | 0 .../skins/default/xui/pl/floater_preview_animation.xml | 0 .../skins/default/xui/pl/floater_preview_classified.xml | 0 .../newview/skins/default/xui/pl/floater_preview_event.xml | 0 .../skins/default/xui/pl/floater_preview_gesture.xml | 0 .../skins/default/xui/pl/floater_preview_gesture_info.xml | 0 .../default/xui/pl/floater_preview_gesture_shortcut.xml | 0 .../skins/default/xui/pl/floater_preview_gesture_steps.xml | 0 .../skins/default/xui/pl/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/pl/floater_preview_sound.xml | 0 .../skins/default/xui/pl/floater_preview_texture.xml | 0 .../skins/default/xui/pl/floater_publish_classified.xml | 0 indra/newview/skins/default/xui/pl/floater_region_info.xml | 0 indra/newview/skins/default/xui/pl/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/pl/floater_script_debug.xml | 0 .../skins/default/xui/pl/floater_script_debug_panel.xml | 0 .../newview/skins/default/xui/pl/floater_script_limits.xml | 0 .../newview/skins/default/xui/pl/floater_script_preview.xml | 0 indra/newview/skins/default/xui/pl/floater_script_queue.xml | 0 .../newview/skins/default/xui/pl/floater_script_search.xml | 0 indra/newview/skins/default/xui/pl/floater_search.xml | 0 indra/newview/skins/default/xui/pl/floater_select_key.xml | 0 indra/newview/skins/default/xui/pl/floater_sell_land.xml | 0 .../newview/skins/default/xui/pl/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/pl/floater_snapshot.xml | 0 .../newview/skins/default/xui/pl/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/pl/floater_statistics.xml | 0 indra/newview/skins/default/xui/pl/floater_stats.xml | 0 indra/newview/skins/default/xui/pl/floater_sys_well.xml | 0 indra/newview/skins/default/xui/pl/floater_telehub.xml | 0 indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/pl/floater_tools.xml | 0 indra/newview/skins/default/xui/pl/floater_top_objects.xml | 0 indra/newview/skins/default/xui/pl/floater_tos.xml | 0 indra/newview/skins/default/xui/pl/floater_url_entry.xml | 0 .../newview/skins/default/xui/pl/floater_voice_controls.xml | 0 indra/newview/skins/default/xui/pl/floater_voice_effect.xml | 0 indra/newview/skins/default/xui/pl/floater_water.xml | 0 .../skins/default/xui/pl/floater_wearable_save_as.xml | 0 .../skins/default/xui/pl/floater_whitelist_entry.xml | 0 .../skins/default/xui/pl/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/pl/floater_window_size.xml | 0 indra/newview/skins/default/xui/pl/floater_world_map.xml | 0 indra/newview/skins/default/xui/pl/inspect_avatar.xml | 0 indra/newview/skins/default/xui/pl/inspect_group.xml | 0 indra/newview/skins/default/xui/pl/inspect_object.xml | 0 .../newview/skins/default/xui/pl/inspect_remote_object.xml | 0 indra/newview/skins/default/xui/pl/language_settings.xml | 0 .../newview/skins/default/xui/pl/menu_attachment_other.xml | 0 indra/newview/skins/default/xui/pl/menu_attachment_self.xml | 0 indra/newview/skins/default/xui/pl/menu_avatar_icon.xml | 0 indra/newview/skins/default/xui/pl/menu_avatar_other.xml | 0 indra/newview/skins/default/xui/pl/menu_avatar_self.xml | 0 indra/newview/skins/default/xui/pl/menu_bottomtray.xml | 0 indra/newview/skins/default/xui/pl/menu_cof_attachment.xml | 0 indra/newview/skins/default/xui/pl/menu_cof_body_part.xml | 0 indra/newview/skins/default/xui/pl/menu_cof_clothing.xml | 0 indra/newview/skins/default/xui/pl/menu_cof_gear.xml | 0 indra/newview/skins/default/xui/pl/menu_edit.xml | 0 indra/newview/skins/default/xui/pl/menu_favorites.xml | 0 indra/newview/skins/default/xui/pl/menu_gesture_gear.xml | 0 indra/newview/skins/default/xui/pl/menu_group_plus.xml | 0 indra/newview/skins/default/xui/pl/menu_hide_navbar.xml | 0 indra/newview/skins/default/xui/pl/menu_im_well_button.xml | 0 indra/newview/skins/default/xui/pl/menu_imchiclet_adhoc.xml | 0 indra/newview/skins/default/xui/pl/menu_imchiclet_group.xml | 0 indra/newview/skins/default/xui/pl/menu_imchiclet_p2p.xml | 0 .../skins/default/xui/pl/menu_inspect_avatar_gear.xml | 0 .../skins/default/xui/pl/menu_inspect_object_gear.xml | 0 .../newview/skins/default/xui/pl/menu_inspect_self_gear.xml | 0 .../newview/skins/default/xui/pl/menu_inv_offer_chiclet.xml | 0 indra/newview/skins/default/xui/pl/menu_inventory.xml | 0 indra/newview/skins/default/xui/pl/menu_inventory_add.xml | 0 .../skins/default/xui/pl/menu_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/pl/menu_land.xml | 0 indra/newview/skins/default/xui/pl/menu_landmark.xml | 0 indra/newview/skins/default/xui/pl/menu_login.xml | 0 indra/newview/skins/default/xui/pl/menu_mini_map.xml | 0 indra/newview/skins/default/xui/pl/menu_navbar.xml | 0 indra/newview/skins/default/xui/pl/menu_nearby_chat.xml | 0 .../skins/default/xui/pl/menu_notification_well_button.xml | 0 indra/newview/skins/default/xui/pl/menu_object.xml | 0 indra/newview/skins/default/xui/pl/menu_object_icon.xml | 0 indra/newview/skins/default/xui/pl/menu_outfit_gear.xml | 0 indra/newview/skins/default/xui/pl/menu_outfit_tab.xml | 0 .../newview/skins/default/xui/pl/menu_participant_list.xml | 0 .../skins/default/xui/pl/menu_people_friends_view_sort.xml | 0 indra/newview/skins/default/xui/pl/menu_people_groups.xml | 0 .../skins/default/xui/pl/menu_people_groups_view_sort.xml | 0 indra/newview/skins/default/xui/pl/menu_people_nearby.xml | 0 .../skins/default/xui/pl/menu_people_nearby_multiselect.xml | 0 .../skins/default/xui/pl/menu_people_nearby_view_sort.xml | 0 .../skins/default/xui/pl/menu_people_recent_view_sort.xml | 0 indra/newview/skins/default/xui/pl/menu_picks.xml | 0 indra/newview/skins/default/xui/pl/menu_picks_plus.xml | 0 indra/newview/skins/default/xui/pl/menu_place.xml | 0 .../newview/skins/default/xui/pl/menu_place_add_button.xml | 0 .../skins/default/xui/pl/menu_places_gear_folder.xml | 0 .../skins/default/xui/pl/menu_places_gear_landmark.xml | 0 .../newview/skins/default/xui/pl/menu_profile_overflow.xml | 0 indra/newview/skins/default/xui/pl/menu_save_outfit.xml | 0 indra/newview/skins/default/xui/pl/menu_script_chiclet.xml | 0 indra/newview/skins/default/xui/pl/menu_slurl.xml | 0 .../skins/default/xui/pl/menu_teleport_history_gear.xml | 0 .../skins/default/xui/pl/menu_teleport_history_item.xml | 0 .../skins/default/xui/pl/menu_teleport_history_tab.xml | 0 indra/newview/skins/default/xui/pl/menu_text_editor.xml | 0 indra/newview/skins/default/xui/pl/menu_topinfobar.xml | 0 indra/newview/skins/default/xui/pl/menu_url_agent.xml | 0 indra/newview/skins/default/xui/pl/menu_url_group.xml | 0 indra/newview/skins/default/xui/pl/menu_url_http.xml | 0 indra/newview/skins/default/xui/pl/menu_url_inventory.xml | 0 indra/newview/skins/default/xui/pl/menu_url_map.xml | 0 indra/newview/skins/default/xui/pl/menu_url_objectim.xml | 0 indra/newview/skins/default/xui/pl/menu_url_parcel.xml | 0 indra/newview/skins/default/xui/pl/menu_url_slapp.xml | 0 indra/newview/skins/default/xui/pl/menu_url_slurl.xml | 0 indra/newview/skins/default/xui/pl/menu_url_teleport.xml | 0 indra/newview/skins/default/xui/pl/menu_viewer.xml | 0 .../skins/default/xui/pl/menu_wearable_list_item.xml | 0 indra/newview/skins/default/xui/pl/menu_wearing_gear.xml | 0 indra/newview/skins/default/xui/pl/menu_wearing_tab.xml | 0 indra/newview/skins/default/xui/pl/mime_types.xml | 0 indra/newview/skins/default/xui/pl/mime_types_linux.xml | 0 indra/newview/skins/default/xui/pl/mime_types_mac.xml | 0 indra/newview/skins/default/xui/pl/notifications.xml | 0 indra/newview/skins/default/xui/pl/outfit_accordion_tab.xml | 0 .../skins/default/xui/pl/panel_active_object_row.xml | 0 .../skins/default/xui/pl/panel_adhoc_control_panel.xml | 0 indra/newview/skins/default/xui/pl/panel_audio_device.xml | 0 .../newview/skins/default/xui/pl/panel_avatar_list_item.xml | 0 .../skins/default/xui/pl/panel_block_list_sidetray.xml | 0 .../skins/default/xui/pl/panel_body_parts_list_item.xml | 0 .../default/xui/pl/panel_bodyparts_list_button_bar.xml | 0 indra/newview/skins/default/xui/pl/panel_bottomtray.xml | 0 .../newview/skins/default/xui/pl/panel_bottomtray_lite.xml | 0 .../newview/skins/default/xui/pl/panel_classified_info.xml | 0 .../skins/default/xui/pl/panel_clothing_list_button_bar.xml | 0 .../skins/default/xui/pl/panel_clothing_list_item.xml | 0 indra/newview/skins/default/xui/pl/panel_cof_wearables.xml | 0 .../default/xui/pl/panel_deletable_wearable_list_item.xml | 0 .../skins/default/xui/pl/panel_dummy_clothing_list_item.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_alpha.xml | 0 .../newview/skins/default/xui/pl/panel_edit_classified.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_eyes.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_gloves.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_hair.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_jacket.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_pants.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_pick.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_shape.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_shirt.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_shoes.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_skin.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_skirt.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_socks.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml | 0 .../newview/skins/default/xui/pl/panel_edit_underpants.xml | 0 .../newview/skins/default/xui/pl/panel_edit_undershirt.xml | 0 indra/newview/skins/default/xui/pl/panel_edit_wearable.xml | 0 indra/newview/skins/default/xui/pl/panel_friends.xml | 0 .../skins/default/xui/pl/panel_group_control_panel.xml | 0 indra/newview/skins/default/xui/pl/panel_group_general.xml | 0 .../skins/default/xui/pl/panel_group_info_sidetray.xml | 0 indra/newview/skins/default/xui/pl/panel_group_invite.xml | 0 .../newview/skins/default/xui/pl/panel_group_land_money.xml | 0 .../newview/skins/default/xui/pl/panel_group_list_item.xml | 0 indra/newview/skins/default/xui/pl/panel_group_notices.xml | 0 indra/newview/skins/default/xui/pl/panel_group_notify.xml | 0 indra/newview/skins/default/xui/pl/panel_group_roles.xml | 0 indra/newview/skins/default/xui/pl/panel_groups.xml | 0 .../newview/skins/default/xui/pl/panel_im_control_panel.xml | 0 indra/newview/skins/default/xui/pl/panel_inventory_item.xml | 0 indra/newview/skins/default/xui/pl/panel_landmark_info.xml | 0 indra/newview/skins/default/xui/pl/panel_landmarks.xml | 0 indra/newview/skins/default/xui/pl/panel_login.xml | 0 indra/newview/skins/default/xui/pl/panel_main_inventory.xml | 0 indra/newview/skins/default/xui/pl/panel_me.xml | 0 .../skins/default/xui/pl/panel_media_settings_general.xml | 0 .../default/xui/pl/panel_media_settings_permissions.xml | 0 .../skins/default/xui/pl/panel_media_settings_security.xml | 0 indra/newview/skins/default/xui/pl/panel_my_profile.xml | 0 indra/newview/skins/default/xui/pl/panel_navigation_bar.xml | 0 indra/newview/skins/default/xui/pl/panel_nearby_chat.xml | 0 .../newview/skins/default/xui/pl/panel_nearby_chat_bar.xml | 0 indra/newview/skins/default/xui/pl/panel_nearby_media.xml | 0 indra/newview/skins/default/xui/pl/panel_notes.xml | 0 indra/newview/skins/default/xui/pl/panel_online_status.xml | 0 .../skins/default/xui/pl/panel_online_status_toast.xml | 0 indra/newview/skins/default/xui/pl/panel_outfit_edit.xml | 0 .../skins/default/xui/pl/panel_outfits_inventory.xml | 0 .../default/xui/pl/panel_outfits_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/pl/panel_outfits_list.xml | 0 .../newview/skins/default/xui/pl/panel_outfits_wearing.xml | 0 indra/newview/skins/default/xui/pl/panel_people.xml | 0 indra/newview/skins/default/xui/pl/panel_pick_info.xml | 0 indra/newview/skins/default/xui/pl/panel_picks.xml | 0 indra/newview/skins/default/xui/pl/panel_place_profile.xml | 0 indra/newview/skins/default/xui/pl/panel_places.xml | 0 .../skins/default/xui/pl/panel_preferences_advanced.xml | 0 .../skins/default/xui/pl/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/pl/panel_preferences_chat.xml | 0 .../skins/default/xui/pl/panel_preferences_general.xml | 0 .../skins/default/xui/pl/panel_preferences_graphics1.xml | 0 .../skins/default/xui/pl/panel_preferences_privacy.xml | 0 .../skins/default/xui/pl/panel_preferences_setup.xml | 0 .../skins/default/xui/pl/panel_preferences_sound.xml | 0 .../skins/default/xui/pl/panel_prim_media_controls.xml | 0 indra/newview/skins/default/xui/pl/panel_profile.xml | 0 indra/newview/skins/default/xui/pl/panel_profile_view.xml | 0 .../newview/skins/default/xui/pl/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/pl/panel_region_debug.xml | 0 indra/newview/skins/default/xui/pl/panel_region_estate.xml | 0 indra/newview/skins/default/xui/pl/panel_region_general.xml | 0 .../skins/default/xui/pl/panel_region_general_layout.xml | 0 indra/newview/skins/default/xui/pl/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/pl/panel_region_texture.xml | 0 indra/newview/skins/default/xui/pl/panel_script_ed.xml | 0 .../skins/default/xui/pl/panel_script_limits_my_avatar.xml | 0 .../default/xui/pl/panel_script_limits_region_memory.xml | 0 .../newview/skins/default/xui/pl/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/pl/panel_side_tray.xml | 0 .../skins/default/xui/pl/panel_side_tray_tab_caption.xml | 0 .../skins/default/xui/pl/panel_stand_stop_flying.xml | 0 indra/newview/skins/default/xui/pl/panel_status_bar.xml | 0 .../newview/skins/default/xui/pl/panel_teleport_history.xml | 0 .../skins/default/xui/pl/panel_teleport_history_item.xml | 0 indra/newview/skins/default/xui/pl/panel_voice_effect.xml | 0 indra/newview/skins/default/xui/pl/panel_world_map.xml | 0 indra/newview/skins/default/xui/pl/role_actions.xml | 0 indra/newview/skins/default/xui/pl/sidepanel_appearance.xml | 0 indra/newview/skins/default/xui/pl/sidepanel_inventory.xml | 0 indra/newview/skins/default/xui/pl/sidepanel_item_info.xml | 0 indra/newview/skins/default/xui/pl/sidepanel_task_info.xml | 0 indra/newview/skins/default/xui/pl/strings.xml | 0 indra/newview/skins/default/xui/pl/teleport_strings.xml | 0 indra/newview/skins/default/xui/pl/xui_version.xml | 0 indra/newview/skins/default/xui/pt/floater_about.xml | 0 indra/newview/skins/default/xui/pt/floater_about_land.xml | 0 indra/newview/skins/default/xui/pt/floater_activeim.xml | 0 .../skins/default/xui/pt/floater_animation_preview.xml | 0 indra/newview/skins/default/xui/pt/floater_auction.xml | 0 .../newview/skins/default/xui/pt/floater_avatar_picker.xml | 0 .../skins/default/xui/pt/floater_avatar_textures.xml | 0 indra/newview/skins/default/xui/pt/floater_beacons.xml | 0 .../newview/skins/default/xui/pt/floater_build_options.xml | 0 indra/newview/skins/default/xui/pt/floater_bulk_perms.xml | 0 indra/newview/skins/default/xui/pt/floater_bumps.xml | 0 indra/newview/skins/default/xui/pt/floater_buy_contents.xml | 0 indra/newview/skins/default/xui/pt/floater_buy_currency.xml | 0 .../skins/default/xui/pt/floater_buy_currency_html.xml | 0 indra/newview/skins/default/xui/pt/floater_buy_land.xml | 0 indra/newview/skins/default/xui/pt/floater_buy_object.xml | 0 indra/newview/skins/default/xui/pt/floater_camera.xml | 0 indra/newview/skins/default/xui/pt/floater_choose_group.xml | 0 indra/newview/skins/default/xui/pt/floater_color_picker.xml | 0 indra/newview/skins/default/xui/pt/floater_critical.xml | 0 indra/newview/skins/default/xui/pt/floater_customize.xml | 0 .../skins/default/xui/pt/floater_day_cycle_options.xml | 0 .../skins/default/xui/pt/floater_device_settings.xml | 0 indra/newview/skins/default/xui/pt/floater_env_settings.xml | 0 indra/newview/skins/default/xui/pt/floater_event.xml | 0 indra/newview/skins/default/xui/pt/floater_font_test.xml | 0 indra/newview/skins/default/xui/pt/floater_gesture.xml | 0 indra/newview/skins/default/xui/pt/floater_god_tools.xml | 0 .../skins/default/xui/pt/floater_hardware_settings.xml | 0 indra/newview/skins/default/xui/pt/floater_help_browser.xml | 0 indra/newview/skins/default/xui/pt/floater_hud.xml | 0 indra/newview/skins/default/xui/pt/floater_im.xml | 0 indra/newview/skins/default/xui/pt/floater_im_container.xml | 0 indra/newview/skins/default/xui/pt/floater_im_session.xml | 0 .../newview/skins/default/xui/pt/floater_image_preview.xml | 0 .../newview/skins/default/xui/pt/floater_incoming_call.xml | 0 indra/newview/skins/default/xui/pt/floater_inspect.xml | 0 indra/newview/skins/default/xui/pt/floater_inventory.xml | 0 .../default/xui/pt/floater_inventory_item_properties.xml | 0 .../skins/default/xui/pt/floater_inventory_view_finder.xml | 0 indra/newview/skins/default/xui/pt/floater_joystick.xml | 0 indra/newview/skins/default/xui/pt/floater_lagmeter.xml | 0 .../newview/skins/default/xui/pt/floater_land_holdings.xml | 0 .../newview/skins/default/xui/pt/floater_live_lsleditor.xml | 0 indra/newview/skins/default/xui/pt/floater_lsl_guide.xml | 0 indra/newview/skins/default/xui/pt/floater_map.xml | 0 .../newview/skins/default/xui/pt/floater_media_browser.xml | 0 .../newview/skins/default/xui/pt/floater_media_settings.xml | 0 indra/newview/skins/default/xui/pt/floater_mem_leaking.xml | 0 indra/newview/skins/default/xui/pt/floater_moveview.xml | 0 indra/newview/skins/default/xui/pt/floater_mute_object.xml | 0 indra/newview/skins/default/xui/pt/floater_my_friends.xml | 0 indra/newview/skins/default/xui/pt/floater_nearby_chat.xml | 0 indra/newview/skins/default/xui/pt/floater_openobject.xml | 0 .../newview/skins/default/xui/pt/floater_outfit_save_as.xml | 0 .../newview/skins/default/xui/pt/floater_outgoing_call.xml | 0 indra/newview/skins/default/xui/pt/floater_pay.xml | 0 indra/newview/skins/default/xui/pt/floater_pay_object.xml | 0 indra/newview/skins/default/xui/pt/floater_perm_prefs.xml | 0 indra/newview/skins/default/xui/pt/floater_post_process.xml | 0 indra/newview/skins/default/xui/pt/floater_postcard.xml | 0 indra/newview/skins/default/xui/pt/floater_preferences.xml | 0 .../skins/default/xui/pt/floater_preview_animation.xml | 0 .../skins/default/xui/pt/floater_preview_classified.xml | 0 .../newview/skins/default/xui/pt/floater_preview_event.xml | 0 .../skins/default/xui/pt/floater_preview_gesture.xml | 0 .../skins/default/xui/pt/floater_preview_gesture_info.xml | 0 .../default/xui/pt/floater_preview_gesture_shortcut.xml | 0 .../skins/default/xui/pt/floater_preview_gesture_steps.xml | 0 .../skins/default/xui/pt/floater_preview_notecard.xml | 0 .../newview/skins/default/xui/pt/floater_preview_sound.xml | 0 .../skins/default/xui/pt/floater_preview_texture.xml | 0 .../skins/default/xui/pt/floater_publish_classified.xml | 0 indra/newview/skins/default/xui/pt/floater_region_info.xml | 0 indra/newview/skins/default/xui/pt/floater_report_abuse.xml | 0 indra/newview/skins/default/xui/pt/floater_script_debug.xml | 0 .../skins/default/xui/pt/floater_script_debug_panel.xml | 0 .../newview/skins/default/xui/pt/floater_script_limits.xml | 0 .../newview/skins/default/xui/pt/floater_script_preview.xml | 0 indra/newview/skins/default/xui/pt/floater_script_queue.xml | 0 .../newview/skins/default/xui/pt/floater_script_search.xml | 0 indra/newview/skins/default/xui/pt/floater_search.xml | 0 indra/newview/skins/default/xui/pt/floater_select_key.xml | 0 indra/newview/skins/default/xui/pt/floater_sell_land.xml | 0 .../newview/skins/default/xui/pt/floater_settings_debug.xml | 0 indra/newview/skins/default/xui/pt/floater_snapshot.xml | 0 .../newview/skins/default/xui/pt/floater_sound_preview.xml | 0 indra/newview/skins/default/xui/pt/floater_statistics.xml | 0 indra/newview/skins/default/xui/pt/floater_stats.xml | 0 indra/newview/skins/default/xui/pt/floater_sys_well.xml | 0 indra/newview/skins/default/xui/pt/floater_telehub.xml | 0 indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml | 0 indra/newview/skins/default/xui/pt/floater_tools.xml | 0 indra/newview/skins/default/xui/pt/floater_top_objects.xml | 0 indra/newview/skins/default/xui/pt/floater_tos.xml | 0 indra/newview/skins/default/xui/pt/floater_url_entry.xml | 0 .../newview/skins/default/xui/pt/floater_voice_controls.xml | 0 indra/newview/skins/default/xui/pt/floater_voice_effect.xml | 0 indra/newview/skins/default/xui/pt/floater_water.xml | 0 .../skins/default/xui/pt/floater_wearable_save_as.xml | 0 .../skins/default/xui/pt/floater_whitelist_entry.xml | 0 .../skins/default/xui/pt/floater_windlight_options.xml | 0 indra/newview/skins/default/xui/pt/floater_window_size.xml | 0 indra/newview/skins/default/xui/pt/floater_world_map.xml | 0 indra/newview/skins/default/xui/pt/inspect_avatar.xml | 0 indra/newview/skins/default/xui/pt/inspect_group.xml | 0 indra/newview/skins/default/xui/pt/inspect_object.xml | 0 .../newview/skins/default/xui/pt/inspect_remote_object.xml | 0 indra/newview/skins/default/xui/pt/language_settings.xml | 0 .../newview/skins/default/xui/pt/menu_attachment_other.xml | 0 indra/newview/skins/default/xui/pt/menu_attachment_self.xml | 0 indra/newview/skins/default/xui/pt/menu_avatar_icon.xml | 0 indra/newview/skins/default/xui/pt/menu_avatar_other.xml | 0 indra/newview/skins/default/xui/pt/menu_avatar_self.xml | 0 indra/newview/skins/default/xui/pt/menu_bottomtray.xml | 0 indra/newview/skins/default/xui/pt/menu_cof_attachment.xml | 0 indra/newview/skins/default/xui/pt/menu_cof_body_part.xml | 0 indra/newview/skins/default/xui/pt/menu_cof_clothing.xml | 0 indra/newview/skins/default/xui/pt/menu_cof_gear.xml | 0 indra/newview/skins/default/xui/pt/menu_edit.xml | 0 indra/newview/skins/default/xui/pt/menu_favorites.xml | 0 indra/newview/skins/default/xui/pt/menu_gesture_gear.xml | 0 indra/newview/skins/default/xui/pt/menu_group_plus.xml | 0 indra/newview/skins/default/xui/pt/menu_hide_navbar.xml | 0 indra/newview/skins/default/xui/pt/menu_im_well_button.xml | 0 indra/newview/skins/default/xui/pt/menu_imchiclet_adhoc.xml | 0 indra/newview/skins/default/xui/pt/menu_imchiclet_group.xml | 0 indra/newview/skins/default/xui/pt/menu_imchiclet_p2p.xml | 0 .../skins/default/xui/pt/menu_inspect_avatar_gear.xml | 0 .../skins/default/xui/pt/menu_inspect_object_gear.xml | 0 .../newview/skins/default/xui/pt/menu_inspect_self_gear.xml | 0 .../newview/skins/default/xui/pt/menu_inv_offer_chiclet.xml | 0 indra/newview/skins/default/xui/pt/menu_inventory.xml | 0 indra/newview/skins/default/xui/pt/menu_inventory_add.xml | 0 .../skins/default/xui/pt/menu_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/pt/menu_land.xml | 0 indra/newview/skins/default/xui/pt/menu_landmark.xml | 0 indra/newview/skins/default/xui/pt/menu_login.xml | 0 indra/newview/skins/default/xui/pt/menu_mini_map.xml | 0 indra/newview/skins/default/xui/pt/menu_navbar.xml | 0 indra/newview/skins/default/xui/pt/menu_nearby_chat.xml | 0 .../skins/default/xui/pt/menu_notification_well_button.xml | 0 indra/newview/skins/default/xui/pt/menu_object.xml | 0 indra/newview/skins/default/xui/pt/menu_object_icon.xml | 0 indra/newview/skins/default/xui/pt/menu_outfit_gear.xml | 0 indra/newview/skins/default/xui/pt/menu_outfit_tab.xml | 0 .../newview/skins/default/xui/pt/menu_participant_list.xml | 0 .../skins/default/xui/pt/menu_people_friends_view_sort.xml | 0 indra/newview/skins/default/xui/pt/menu_people_groups.xml | 0 .../skins/default/xui/pt/menu_people_groups_view_sort.xml | 0 indra/newview/skins/default/xui/pt/menu_people_nearby.xml | 0 .../skins/default/xui/pt/menu_people_nearby_multiselect.xml | 0 .../skins/default/xui/pt/menu_people_nearby_view_sort.xml | 0 .../skins/default/xui/pt/menu_people_recent_view_sort.xml | 0 indra/newview/skins/default/xui/pt/menu_picks.xml | 0 indra/newview/skins/default/xui/pt/menu_picks_plus.xml | 0 indra/newview/skins/default/xui/pt/menu_place.xml | 0 .../newview/skins/default/xui/pt/menu_place_add_button.xml | 0 .../skins/default/xui/pt/menu_places_gear_folder.xml | 0 .../skins/default/xui/pt/menu_places_gear_landmark.xml | 0 .../newview/skins/default/xui/pt/menu_profile_overflow.xml | 0 indra/newview/skins/default/xui/pt/menu_save_outfit.xml | 0 indra/newview/skins/default/xui/pt/menu_script_chiclet.xml | 0 indra/newview/skins/default/xui/pt/menu_slurl.xml | 0 .../skins/default/xui/pt/menu_teleport_history_gear.xml | 0 .../skins/default/xui/pt/menu_teleport_history_item.xml | 0 .../skins/default/xui/pt/menu_teleport_history_tab.xml | 0 indra/newview/skins/default/xui/pt/menu_text_editor.xml | 0 indra/newview/skins/default/xui/pt/menu_topinfobar.xml | 0 indra/newview/skins/default/xui/pt/menu_url_agent.xml | 0 indra/newview/skins/default/xui/pt/menu_url_group.xml | 0 indra/newview/skins/default/xui/pt/menu_url_http.xml | 0 indra/newview/skins/default/xui/pt/menu_url_inventory.xml | 0 indra/newview/skins/default/xui/pt/menu_url_map.xml | 0 indra/newview/skins/default/xui/pt/menu_url_objectim.xml | 0 indra/newview/skins/default/xui/pt/menu_url_parcel.xml | 0 indra/newview/skins/default/xui/pt/menu_url_slapp.xml | 0 indra/newview/skins/default/xui/pt/menu_url_slurl.xml | 0 indra/newview/skins/default/xui/pt/menu_url_teleport.xml | 0 indra/newview/skins/default/xui/pt/menu_viewer.xml | 0 .../skins/default/xui/pt/menu_wearable_list_item.xml | 0 indra/newview/skins/default/xui/pt/menu_wearing_gear.xml | 0 indra/newview/skins/default/xui/pt/menu_wearing_tab.xml | 0 indra/newview/skins/default/xui/pt/mime_types.xml | 0 indra/newview/skins/default/xui/pt/mime_types_linux.xml | 0 indra/newview/skins/default/xui/pt/mime_types_mac.xml | 0 indra/newview/skins/default/xui/pt/notifications.xml | 0 indra/newview/skins/default/xui/pt/outfit_accordion_tab.xml | 0 .../skins/default/xui/pt/panel_active_object_row.xml | 0 .../skins/default/xui/pt/panel_adhoc_control_panel.xml | 0 indra/newview/skins/default/xui/pt/panel_audio_device.xml | 0 .../newview/skins/default/xui/pt/panel_avatar_list_item.xml | 0 .../skins/default/xui/pt/panel_block_list_sidetray.xml | 0 .../skins/default/xui/pt/panel_body_parts_list_item.xml | 0 .../default/xui/pt/panel_bodyparts_list_button_bar.xml | 0 indra/newview/skins/default/xui/pt/panel_bottomtray.xml | 0 .../newview/skins/default/xui/pt/panel_bottomtray_lite.xml | 0 .../newview/skins/default/xui/pt/panel_classified_info.xml | 0 .../skins/default/xui/pt/panel_clothing_list_button_bar.xml | 0 .../skins/default/xui/pt/panel_clothing_list_item.xml | 0 indra/newview/skins/default/xui/pt/panel_cof_wearables.xml | 0 .../default/xui/pt/panel_deletable_wearable_list_item.xml | 0 .../skins/default/xui/pt/panel_dummy_clothing_list_item.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_alpha.xml | 0 .../newview/skins/default/xui/pt/panel_edit_classified.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_eyes.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_gloves.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_hair.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_jacket.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_pants.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_pick.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_profile.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_shape.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_shirt.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_shoes.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_skin.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_skirt.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_socks.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_tattoo.xml | 0 .../newview/skins/default/xui/pt/panel_edit_underpants.xml | 0 .../newview/skins/default/xui/pt/panel_edit_undershirt.xml | 0 indra/newview/skins/default/xui/pt/panel_edit_wearable.xml | 0 indra/newview/skins/default/xui/pt/panel_friends.xml | 0 .../skins/default/xui/pt/panel_group_control_panel.xml | 0 indra/newview/skins/default/xui/pt/panel_group_general.xml | 0 .../skins/default/xui/pt/panel_group_info_sidetray.xml | 0 indra/newview/skins/default/xui/pt/panel_group_invite.xml | 0 .../newview/skins/default/xui/pt/panel_group_land_money.xml | 0 .../newview/skins/default/xui/pt/panel_group_list_item.xml | 0 indra/newview/skins/default/xui/pt/panel_group_notices.xml | 0 indra/newview/skins/default/xui/pt/panel_group_notify.xml | 0 indra/newview/skins/default/xui/pt/panel_group_roles.xml | 0 indra/newview/skins/default/xui/pt/panel_groups.xml | 0 .../newview/skins/default/xui/pt/panel_im_control_panel.xml | 0 indra/newview/skins/default/xui/pt/panel_inventory_item.xml | 0 indra/newview/skins/default/xui/pt/panel_landmark_info.xml | 0 indra/newview/skins/default/xui/pt/panel_landmarks.xml | 0 indra/newview/skins/default/xui/pt/panel_login.xml | 0 indra/newview/skins/default/xui/pt/panel_main_inventory.xml | 0 indra/newview/skins/default/xui/pt/panel_me.xml | 0 .../skins/default/xui/pt/panel_media_settings_general.xml | 0 .../default/xui/pt/panel_media_settings_permissions.xml | 0 .../skins/default/xui/pt/panel_media_settings_security.xml | 0 indra/newview/skins/default/xui/pt/panel_my_profile.xml | 0 indra/newview/skins/default/xui/pt/panel_navigation_bar.xml | 0 indra/newview/skins/default/xui/pt/panel_nearby_chat.xml | 0 .../newview/skins/default/xui/pt/panel_nearby_chat_bar.xml | 0 indra/newview/skins/default/xui/pt/panel_nearby_media.xml | 0 indra/newview/skins/default/xui/pt/panel_notes.xml | 0 indra/newview/skins/default/xui/pt/panel_online_status.xml | 0 .../skins/default/xui/pt/panel_online_status_toast.xml | 0 indra/newview/skins/default/xui/pt/panel_outfit_edit.xml | 0 .../skins/default/xui/pt/panel_outfits_inventory.xml | 0 .../default/xui/pt/panel_outfits_inventory_gear_default.xml | 0 indra/newview/skins/default/xui/pt/panel_outfits_list.xml | 0 .../newview/skins/default/xui/pt/panel_outfits_wearing.xml | 0 indra/newview/skins/default/xui/pt/panel_people.xml | 0 indra/newview/skins/default/xui/pt/panel_pick_info.xml | 0 indra/newview/skins/default/xui/pt/panel_picks.xml | 0 indra/newview/skins/default/xui/pt/panel_place_profile.xml | 0 indra/newview/skins/default/xui/pt/panel_places.xml | 0 .../skins/default/xui/pt/panel_preferences_advanced.xml | 0 .../skins/default/xui/pt/panel_preferences_alerts.xml | 0 .../newview/skins/default/xui/pt/panel_preferences_chat.xml | 0 .../skins/default/xui/pt/panel_preferences_general.xml | 0 .../skins/default/xui/pt/panel_preferences_graphics1.xml | 0 .../skins/default/xui/pt/panel_preferences_privacy.xml | 0 .../skins/default/xui/pt/panel_preferences_setup.xml | 0 .../skins/default/xui/pt/panel_preferences_sound.xml | 0 .../skins/default/xui/pt/panel_prim_media_controls.xml | 0 indra/newview/skins/default/xui/pt/panel_profile.xml | 0 indra/newview/skins/default/xui/pt/panel_profile_view.xml | 0 .../newview/skins/default/xui/pt/panel_region_covenant.xml | 0 indra/newview/skins/default/xui/pt/panel_region_debug.xml | 0 indra/newview/skins/default/xui/pt/panel_region_estate.xml | 0 indra/newview/skins/default/xui/pt/panel_region_general.xml | 0 .../skins/default/xui/pt/panel_region_general_layout.xml | 0 indra/newview/skins/default/xui/pt/panel_region_terrain.xml | 0 indra/newview/skins/default/xui/pt/panel_region_texture.xml | 0 indra/newview/skins/default/xui/pt/panel_script_ed.xml | 0 .../skins/default/xui/pt/panel_script_limits_my_avatar.xml | 0 .../default/xui/pt/panel_script_limits_region_memory.xml | 0 .../newview/skins/default/xui/pt/panel_scrolling_param.xml | 0 indra/newview/skins/default/xui/pt/panel_side_tray.xml | 0 .../skins/default/xui/pt/panel_side_tray_tab_caption.xml | 0 .../skins/default/xui/pt/panel_stand_stop_flying.xml | 0 indra/newview/skins/default/xui/pt/panel_status_bar.xml | 0 .../newview/skins/default/xui/pt/panel_teleport_history.xml | 0 .../skins/default/xui/pt/panel_teleport_history_item.xml | 0 indra/newview/skins/default/xui/pt/panel_voice_effect.xml | 0 indra/newview/skins/default/xui/pt/panel_world_map.xml | 0 indra/newview/skins/default/xui/pt/role_actions.xml | 0 indra/newview/skins/default/xui/pt/sidepanel_appearance.xml | 0 indra/newview/skins/default/xui/pt/sidepanel_inventory.xml | 0 indra/newview/skins/default/xui/pt/sidepanel_item_info.xml | 0 indra/newview/skins/default/xui/pt/sidepanel_task_info.xml | 0 indra/newview/skins/default/xui/pt/strings.xml | 0 indra/newview/skins/default/xui/pt/teleport_strings.xml | 0 indra/newview/skins/default/xui/pt/xui_version.xml | 0 indra/newview/skins/paths.xml | 0 indra/newview/tests/llagentaccess_test.cpp | 0 indra/newview/tests/llcapabilitylistener_test.cpp | 0 indra/newview/tests/lldateutil_test.cpp | 0 indra/newview/tests/lllogininstance_test.cpp | 0 indra/newview/tests/llmediadataclient_test.cpp | 0 indra/newview/tests/llsecapi_test.cpp | 0 indra/newview/tests/llsechandler_basic_test.cpp | 0 indra/newview/tests/llslurl_test.cpp | 0 indra/newview/tests/lltextureinfo_test.cpp | 0 indra/newview/tests/lltextureinfodetails_test.cpp | 0 indra/newview/tests/lltexturestatsuploader_test.cpp | 0 indra/newview/tests/llviewerhelputil_test.cpp | 0 indra/newview/tests/llviewernetwork_test.cpp | 0 indra/newview/tests/llworldmap_test.cpp | 0 indra/newview/tests/llworldmipmap_test.cpp | 0 indra/newview/tests/llxmlrpclistener_test.cpp | 0 indra/newview/tests/test_llxmlrpc_peer.py | 0 indra/newview/tr.lproj/language.txt | 0 indra/newview/uk.lproj/language.txt | 0 indra/newview/viewer_manifest.py | 0 indra/newview/zh-Hans.lproj/language.txt | 0 indra/test/CMakeLists.txt | 0 indra/test/blowfish.1.bin | 0 indra/test/blowfish.2.bin | Bin indra/test/blowfish.digits.txt | 0 indra/test/debug.h | 0 indra/test/io.cpp | 0 indra/test/llassetuploadqueue_tut.cpp | 0 indra/test/llblowfish_tut.cpp | 0 indra/test/llbuffer_tut.cpp | 0 indra/test/lldatapacker_tut.cpp | 0 indra/test/lldoubledispatch_tut.cpp | 0 indra/test/llevents_tut.cpp | 0 indra/test/llhttpclient_tut.cpp | 0 indra/test/llhttpdate_tut.cpp | 0 indra/test/llhttpnode_tut.cpp | 0 indra/test/lliohttpserver_tut.cpp | 0 indra/test/llmessageconfig_tut.cpp | 0 indra/test/llmessagetemplateparser_tut.cpp | 0 indra/test/llpermissions_tut.cpp | 0 indra/test/llpipeutil.cpp | 0 indra/test/llpipeutil.h | 0 indra/test/llsaleinfo_tut.cpp | 0 indra/test/llscriptresource_tut.cpp | 0 indra/test/llsd_new_tut.cpp | 0 indra/test/llsdmessagebuilder_tut.cpp | 0 indra/test/llsdmessagereader_tut.cpp | 0 indra/test/llsdtraits.h | 0 indra/test/llsdutil_tut.cpp | 0 indra/test/llservicebuilder_tut.cpp | 0 indra/test/llstreamtools_tut.cpp | 0 indra/test/lltemplatemessagebuilder_tut.cpp | 0 indra/test/lltimestampcache_tut.cpp | 0 indra/test/lltranscode_tut.cpp | 0 indra/test/lltut.cpp | 0 indra/test/lltut.h | 0 indra/test/lluserrelations_tut.cpp | 0 indra/test/lluuidhashmap_tut.cpp | 0 indra/test/llxorcipher_tut.cpp | 0 indra/test/message_tut.cpp | 0 indra/test/mock_http_client.cpp | 0 indra/test/mock_http_client.h | 0 indra/test/prim_linkability_tut.cpp | 0 indra/test/test.cpp | 0 indra/test/test.h | 0 indra/test/test_llmanifest.py | 0 indra/test_apps/llplugintest/CMakeLists.txt | 0 indra/test_apps/llplugintest/bookmarks.txt | 0 indra/test_apps/llplugintest/llmediaplugintest.cpp | 0 indra/test_apps/llplugintest/llmediaplugintest.h | 0 indra/tools/vstool/README.txt | 0 indra/tools/vstool/VSTool.csproj | 0 indra/tools/vstool/VSTool.sln | 0 indra/tools/vstool/main.cs | 0 indra/viewer_components/CMakeLists.txt | 0 indra/viewer_components/login/CMakeLists.txt | 0 indra/viewer_components/login/lllogin.cpp | 0 indra/viewer_components/login/lllogin.h | 0 indra/viewer_components/login/tests/lllogin_test.cpp | 0 indra/win_crash_logger/CMakeLists.txt | 0 indra/win_crash_logger/StdAfx.cpp | 0 indra/win_crash_logger/StdAfx.h | 0 indra/win_crash_logger/ll_icon.ico | Bin indra/win_crash_logger/llcrashloggerwindows.cpp | 0 indra/win_crash_logger/llcrashloggerwindows.h | 0 indra/win_crash_logger/resource.h | 0 indra/win_crash_logger/win_crash_logger.cpp | 0 indra/win_crash_logger/win_crash_logger.h | 0 indra/win_crash_logger/win_crash_logger.ico | Bin indra/win_crash_logger/win_crash_logger.rc | 0 indra/win_updater/CMakeLists.txt | 0 indra/win_updater/updater.cpp | 0 install.xml | 0 scripts/messages/message_template.msg | 0 scripts/setup-path.py | 0 scripts/template_verifier.py | 0 viewer-hg-convert.shamap | 0 6564 files changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 .hgignore mode change 100644 => 100755 .hgtags mode change 100644 => 100755 BuildParams mode change 100644 => 100755 build.sh mode change 100644 => 100755 doc/FLOSS-exception.txt mode change 100644 => 100755 doc/GPL-license.txt mode change 100644 => 100755 doc/LICENSE-logos.txt mode change 100644 => 100755 doc/LICENSE-source.txt mode change 100644 => 100755 doc/contributions.txt mode change 100644 => 100755 doc/releasenotes-where.txt mode change 100644 => 100755 etc/message.xml mode change 100644 => 100755 indra/CMakeLists.txt mode change 100644 => 100755 indra/cmake/00-Common.cmake mode change 100644 => 100755 indra/cmake/APR.cmake mode change 100644 => 100755 indra/cmake/Audio.cmake mode change 100644 => 100755 indra/cmake/BerkeleyDB.cmake mode change 100644 => 100755 indra/cmake/Boost.cmake mode change 100644 => 100755 indra/cmake/BuildVersion.cmake mode change 100644 => 100755 indra/cmake/CARes.cmake mode change 100644 => 100755 indra/cmake/CMakeCopyIfDifferent.cmake mode change 100644 => 100755 indra/cmake/CMakeLists.txt mode change 100644 => 100755 indra/cmake/CSharpMacros.cmake mode change 100644 => 100755 indra/cmake/CURL.cmake mode change 100644 => 100755 indra/cmake/Copy3rdPartyLibs.cmake mode change 100644 => 100755 indra/cmake/CopyBackToSource.cmake mode change 100644 => 100755 indra/cmake/DBusGlib.cmake mode change 100644 => 100755 indra/cmake/DeploySharedLibs.cmake mode change 100644 => 100755 indra/cmake/DirectX.cmake mode change 100644 => 100755 indra/cmake/DragDrop.cmake mode change 100644 => 100755 indra/cmake/ELFIO.cmake mode change 100644 => 100755 indra/cmake/EXPAT.cmake mode change 100644 => 100755 indra/cmake/ExamplePlugin.cmake mode change 100644 => 100755 indra/cmake/Externals.cmake mode change 100644 => 100755 indra/cmake/FMOD.cmake mode change 100644 => 100755 indra/cmake/FindAPR.cmake mode change 100644 => 100755 indra/cmake/FindBerkeleyDB.cmake mode change 100644 => 100755 indra/cmake/FindCARes.cmake mode change 100644 => 100755 indra/cmake/FindELFIO.cmake mode change 100644 => 100755 indra/cmake/FindGooglePerfTools.cmake mode change 100644 => 100755 indra/cmake/FindMT.cmake mode change 100644 => 100755 indra/cmake/FindMono.cmake mode change 100644 => 100755 indra/cmake/FindMySQL.cmake mode change 100644 => 100755 indra/cmake/FindOpenJPEG.cmake mode change 100644 => 100755 indra/cmake/FindSCP.cmake mode change 100644 => 100755 indra/cmake/FindSVN.cmake mode change 100644 => 100755 indra/cmake/FindXmlRpcEpi.cmake mode change 100644 => 100755 indra/cmake/FreeType.cmake mode change 100644 => 100755 indra/cmake/GLOD.cmake mode change 100644 => 100755 indra/cmake/GStreamer010Plugin.cmake mode change 100644 => 100755 indra/cmake/GetPrerequisites_2_8.cmake mode change 100644 => 100755 indra/cmake/Glui.cmake mode change 100644 => 100755 indra/cmake/Glut.cmake mode change 100644 => 100755 indra/cmake/GoogleBreakpad.cmake mode change 100644 => 100755 indra/cmake/GoogleMock.cmake mode change 100644 => 100755 indra/cmake/GooglePerfTools.cmake mode change 100644 => 100755 indra/cmake/JPEG.cmake mode change 100644 => 100755 indra/cmake/LLAddBuildTest.cmake mode change 100644 => 100755 indra/cmake/LLAudio.cmake mode change 100644 => 100755 indra/cmake/LLCharacter.cmake mode change 100644 => 100755 indra/cmake/LLCommon.cmake mode change 100644 => 100755 indra/cmake/LLConvexDecomposition.cmake mode change 100644 => 100755 indra/cmake/LLCrashLogger.cmake mode change 100644 => 100755 indra/cmake/LLDatabase.cmake mode change 100644 => 100755 indra/cmake/LLImage.cmake mode change 100644 => 100755 indra/cmake/LLImageJ2COJ.cmake mode change 100644 => 100755 indra/cmake/LLInventory.cmake mode change 100644 => 100755 indra/cmake/LLKDU.cmake mode change 100644 => 100755 indra/cmake/LLLogin.cmake mode change 100644 => 100755 indra/cmake/LLMath.cmake mode change 100644 => 100755 indra/cmake/LLMessage.cmake mode change 100644 => 100755 indra/cmake/LLPlugin.cmake mode change 100644 => 100755 indra/cmake/LLPrimitive.cmake mode change 100644 => 100755 indra/cmake/LLRender.cmake mode change 100644 => 100755 indra/cmake/LLScene.cmake mode change 100644 => 100755 indra/cmake/LLSharedLibs.cmake mode change 100644 => 100755 indra/cmake/LLTestCommand.cmake mode change 100644 => 100755 indra/cmake/LLUI.cmake mode change 100644 => 100755 indra/cmake/LLVFS.cmake mode change 100644 => 100755 indra/cmake/LLWindow.cmake mode change 100644 => 100755 indra/cmake/LLXML.cmake mode change 100644 => 100755 indra/cmake/LLXUIXML.cmake mode change 100644 => 100755 indra/cmake/LScript.cmake mode change 100644 => 100755 indra/cmake/Linking.cmake mode change 100644 => 100755 indra/cmake/MediaPluginBase.cmake mode change 100644 => 100755 indra/cmake/MonoDeps.cmake mode change 100644 => 100755 indra/cmake/MonoEmbed.cmake mode change 100644 => 100755 indra/cmake/MySQL.cmake mode change 100644 => 100755 indra/cmake/NDOF.cmake mode change 100644 => 100755 indra/cmake/OPENAL.cmake mode change 100644 => 100755 indra/cmake/OpenGL.cmake mode change 100644 => 100755 indra/cmake/OpenJPEG.cmake mode change 100644 => 100755 indra/cmake/OpenSSL.cmake mode change 100644 => 100755 indra/cmake/PNG.cmake mode change 100644 => 100755 indra/cmake/PluginAPI.cmake mode change 100644 => 100755 indra/cmake/Prebuilt.cmake mode change 100644 => 100755 indra/cmake/Pth.cmake mode change 100644 => 100755 indra/cmake/PulseAudio.cmake mode change 100644 => 100755 indra/cmake/Python.cmake mode change 100644 => 100755 indra/cmake/QuickTimePlugin.cmake mode change 100644 => 100755 indra/cmake/TemplateCheck.cmake mode change 100644 => 100755 indra/cmake/Tut.cmake mode change 100644 => 100755 indra/cmake/UI.cmake mode change 100644 => 100755 indra/cmake/UnixInstall.cmake mode change 100644 => 100755 indra/cmake/Variables.cmake mode change 100644 => 100755 indra/cmake/ViewerMiscLibs.cmake mode change 100644 => 100755 indra/cmake/WebKitLibPlugin.cmake mode change 100644 => 100755 indra/cmake/XmlRpcEpi.cmake mode change 100644 => 100755 indra/cmake/ZLIB.cmake mode change 100644 => 100755 indra/cmake/cmake_dummy.cpp mode change 100644 => 100755 indra/cmake/run_build_test.py mode change 100644 => 100755 indra/copy_win_scripts/CMakeLists.txt mode change 100644 => 100755 indra/copy_win_scripts/start-client.py mode change 100644 => 100755 indra/integration_tests/CMakeLists.txt mode change 100644 => 100755 indra/integration_tests/llui_libtest/CMakeLists.txt mode change 100644 => 100755 indra/integration_tests/llui_libtest/llui_libtest.cpp mode change 100644 => 100755 indra/integration_tests/llui_libtest/llui_libtest.h mode change 100644 => 100755 indra/integration_tests/llui_libtest/llwidgetreg.cpp mode change 100644 => 100755 indra/integration_tests/llui_libtest/llwidgetreg.h mode change 100644 => 100755 indra/lib/python/indra/__init__.py mode change 100644 => 100755 indra/lib/python/indra/base/__init__.py mode change 100644 => 100755 indra/lib/python/indra/base/cllsd_test.py mode change 100644 => 100755 indra/lib/python/indra/base/config.py mode change 100644 => 100755 indra/lib/python/indra/base/llsd.py mode change 100644 => 100755 indra/lib/python/indra/base/lluuid.py mode change 100644 => 100755 indra/lib/python/indra/base/metrics.py mode change 100644 => 100755 indra/lib/python/indra/ipc/__init__.py mode change 100644 => 100755 indra/lib/python/indra/ipc/compatibility.py mode change 100644 => 100755 indra/lib/python/indra/ipc/httputil.py mode change 100644 => 100755 indra/lib/python/indra/ipc/llmessage.py mode change 100644 => 100755 indra/lib/python/indra/ipc/llsdhttp.py mode change 100644 => 100755 indra/lib/python/indra/ipc/mysql_pool.py mode change 100644 => 100755 indra/lib/python/indra/ipc/russ.py mode change 100644 => 100755 indra/lib/python/indra/ipc/servicebuilder.py mode change 100644 => 100755 indra/lib/python/indra/ipc/siesta.py mode change 100644 => 100755 indra/lib/python/indra/ipc/siesta_test.py mode change 100644 => 100755 indra/lib/python/indra/ipc/tokenstream.py mode change 100644 => 100755 indra/lib/python/indra/ipc/webdav.py mode change 100644 => 100755 indra/lib/python/indra/ipc/xml_rpc.py mode change 100644 => 100755 indra/lib/python/indra/util/__init__.py mode change 100644 => 100755 indra/lib/python/indra/util/fastest_elementtree.py mode change 100644 => 100755 indra/lib/python/indra/util/helpformatter.py mode change 100644 => 100755 indra/lib/python/indra/util/iterators.py mode change 100644 => 100755 indra/lib/python/indra/util/llmanifest.py mode change 100644 => 100755 indra/lib/python/indra/util/llsubprocess.py mode change 100644 => 100755 indra/lib/python/indra/util/llversion.py mode change 100644 => 100755 indra/lib/python/indra/util/named_query.py mode change 100644 => 100755 indra/lib/python/indra/util/shutil2.py mode change 100644 => 100755 indra/lib/python/indra/util/term.py mode change 100644 => 100755 indra/lib/python/indra/util/test_win32_manifest.py mode change 100644 => 100755 indra/lib/python/uuid.py mode change 100644 => 100755 indra/linux_crash_logger/CMakeLists.txt mode change 100644 => 100755 indra/linux_crash_logger/linux_crash_logger.cpp mode change 100644 => 100755 indra/linux_crash_logger/llcrashloggerlinux.cpp mode change 100644 => 100755 indra/linux_crash_logger/llcrashloggerlinux.h mode change 100644 => 100755 indra/linux_updater/CMakeLists.txt mode change 100644 => 100755 indra/linux_updater/linux_updater.cpp mode change 100644 => 100755 indra/llaudio/CMakeLists.txt mode change 100644 => 100755 indra/llaudio/llaudiodecodemgr.cpp mode change 100644 => 100755 indra/llaudio/llaudiodecodemgr.h mode change 100644 => 100755 indra/llaudio/llaudioengine.cpp mode change 100644 => 100755 indra/llaudio/llaudioengine.h mode change 100644 => 100755 indra/llaudio/llaudioengine_fmod.cpp mode change 100644 => 100755 indra/llaudio/llaudioengine_fmod.h mode change 100644 => 100755 indra/llaudio/llaudioengine_openal.cpp mode change 100644 => 100755 indra/llaudio/llaudioengine_openal.h mode change 100644 => 100755 indra/llaudio/lllistener.cpp mode change 100644 => 100755 indra/llaudio/lllistener.h mode change 100644 => 100755 indra/llaudio/lllistener_ds3d.h mode change 100644 => 100755 indra/llaudio/lllistener_fmod.cpp mode change 100644 => 100755 indra/llaudio/lllistener_fmod.h mode change 100644 => 100755 indra/llaudio/lllistener_openal.cpp mode change 100644 => 100755 indra/llaudio/lllistener_openal.h mode change 100644 => 100755 indra/llaudio/llstreamingaudio.h mode change 100644 => 100755 indra/llaudio/llstreamingaudio_fmod.cpp mode change 100644 => 100755 indra/llaudio/llstreamingaudio_fmod.h mode change 100644 => 100755 indra/llaudio/llvorbisencode.cpp mode change 100644 => 100755 indra/llaudio/llvorbisencode.h mode change 100644 => 100755 indra/llaudio/llwindgen.h mode change 100644 => 100755 indra/llcharacter/CMakeLists.txt mode change 100644 => 100755 indra/llcharacter/llanimationstates.cpp mode change 100644 => 100755 indra/llcharacter/llanimationstates.h mode change 100644 => 100755 indra/llcharacter/llbvhconsts.h mode change 100644 => 100755 indra/llcharacter/llbvhloader.cpp mode change 100644 => 100755 indra/llcharacter/llbvhloader.h mode change 100644 => 100755 indra/llcharacter/llcharacter.cpp mode change 100644 => 100755 indra/llcharacter/llcharacter.h mode change 100644 => 100755 indra/llcharacter/lleditingmotion.cpp mode change 100644 => 100755 indra/llcharacter/lleditingmotion.h mode change 100644 => 100755 indra/llcharacter/llgesture.cpp mode change 100644 => 100755 indra/llcharacter/llgesture.h mode change 100644 => 100755 indra/llcharacter/llhandmotion.cpp mode change 100644 => 100755 indra/llcharacter/llhandmotion.h mode change 100644 => 100755 indra/llcharacter/llheadrotmotion.cpp mode change 100644 => 100755 indra/llcharacter/llheadrotmotion.h mode change 100644 => 100755 indra/llcharacter/lljoint.cpp mode change 100644 => 100755 indra/llcharacter/lljoint.h mode change 100644 => 100755 indra/llcharacter/lljointsolverrp3.cpp mode change 100644 => 100755 indra/llcharacter/lljointsolverrp3.h mode change 100644 => 100755 indra/llcharacter/lljointstate.h mode change 100644 => 100755 indra/llcharacter/llkeyframefallmotion.cpp mode change 100644 => 100755 indra/llcharacter/llkeyframefallmotion.h mode change 100644 => 100755 indra/llcharacter/llkeyframemotion.cpp mode change 100644 => 100755 indra/llcharacter/llkeyframemotion.h mode change 100644 => 100755 indra/llcharacter/llkeyframemotionparam.cpp mode change 100644 => 100755 indra/llcharacter/llkeyframemotionparam.h mode change 100644 => 100755 indra/llcharacter/llkeyframestandmotion.cpp mode change 100644 => 100755 indra/llcharacter/llkeyframestandmotion.h mode change 100644 => 100755 indra/llcharacter/llkeyframewalkmotion.cpp mode change 100644 => 100755 indra/llcharacter/llkeyframewalkmotion.h mode change 100644 => 100755 indra/llcharacter/llmotion.cpp mode change 100644 => 100755 indra/llcharacter/llmotion.h mode change 100644 => 100755 indra/llcharacter/llmotioncontroller.cpp mode change 100644 => 100755 indra/llcharacter/llmotioncontroller.h mode change 100644 => 100755 indra/llcharacter/llmultigesture.cpp mode change 100644 => 100755 indra/llcharacter/llmultigesture.h mode change 100644 => 100755 indra/llcharacter/llpose.cpp mode change 100644 => 100755 indra/llcharacter/llpose.h mode change 100644 => 100755 indra/llcharacter/llstatemachine.cpp mode change 100644 => 100755 indra/llcharacter/llstatemachine.h mode change 100644 => 100755 indra/llcharacter/lltargetingmotion.cpp mode change 100644 => 100755 indra/llcharacter/lltargetingmotion.h mode change 100644 => 100755 indra/llcharacter/llvisualparam.cpp mode change 100644 => 100755 indra/llcharacter/llvisualparam.h mode change 100644 => 100755 indra/llcharacter/tests/lljoint_test.cpp mode change 100644 => 100755 indra/llcommon/CMakeLists.txt mode change 100644 => 100755 indra/llcommon/bitpack.cpp mode change 100644 => 100755 indra/llcommon/bitpack.h mode change 100644 => 100755 indra/llcommon/ctype_workaround.h mode change 100644 => 100755 indra/llcommon/doublelinkedlist.h mode change 100644 => 100755 indra/llcommon/imageids.cpp mode change 100644 => 100755 indra/llcommon/imageids.h mode change 100644 => 100755 indra/llcommon/indra_constants.cpp mode change 100644 => 100755 indra/llcommon/indra_constants.h mode change 100644 => 100755 indra/llcommon/is_approx_equal_fraction.h mode change 100644 => 100755 indra/llcommon/linden_common.h mode change 100644 => 100755 indra/llcommon/linked_lists.h mode change 100644 => 100755 indra/llcommon/ll_template_cast.h mode change 100644 => 100755 indra/llcommon/llagentconstants.h mode change 100644 => 100755 indra/llcommon/llallocator.cpp mode change 100644 => 100755 indra/llcommon/llallocator.h mode change 100644 => 100755 indra/llcommon/llallocator_heap_profile.cpp mode change 100644 => 100755 indra/llcommon/llallocator_heap_profile.h mode change 100644 => 100755 indra/llcommon/llapp.cpp mode change 100644 => 100755 indra/llcommon/llapp.h mode change 100644 => 100755 indra/llcommon/llapr.cpp mode change 100644 => 100755 indra/llcommon/llapr.h mode change 100644 => 100755 indra/llcommon/llassettype.cpp mode change 100644 => 100755 indra/llcommon/llassettype.h mode change 100644 => 100755 indra/llcommon/llassoclist.h mode change 100644 => 100755 indra/llcommon/llavatarconstants.h mode change 100644 => 100755 indra/llcommon/llbase32.cpp mode change 100644 => 100755 indra/llcommon/llbase32.h mode change 100644 => 100755 indra/llcommon/llbase64.cpp mode change 100644 => 100755 indra/llcommon/llbase64.h mode change 100644 => 100755 indra/llcommon/llboost.h mode change 100644 => 100755 indra/llcommon/llchat.h mode change 100644 => 100755 indra/llcommon/llclickaction.h mode change 100644 => 100755 indra/llcommon/llcommon.cpp mode change 100644 => 100755 indra/llcommon/llcommon.h mode change 100644 => 100755 indra/llcommon/llcommonutils.cpp mode change 100644 => 100755 indra/llcommon/llcommonutils.h mode change 100644 => 100755 indra/llcommon/llcoros.cpp mode change 100644 => 100755 indra/llcommon/llcoros.h mode change 100644 => 100755 indra/llcommon/llcrc.cpp mode change 100644 => 100755 indra/llcommon/llcrc.h mode change 100644 => 100755 indra/llcommon/llcriticaldamp.cpp mode change 100644 => 100755 indra/llcommon/llcriticaldamp.h mode change 100644 => 100755 indra/llcommon/llcursortypes.cpp mode change 100644 => 100755 indra/llcommon/llcursortypes.h mode change 100644 => 100755 indra/llcommon/lldarray.h mode change 100644 => 100755 indra/llcommon/lldarrayptr.h mode change 100644 => 100755 indra/llcommon/lldate.cpp mode change 100644 => 100755 indra/llcommon/lldate.h mode change 100644 => 100755 indra/llcommon/lldefs.h mode change 100644 => 100755 indra/llcommon/lldeleteutils.h mode change 100644 => 100755 indra/llcommon/lldependencies.cpp mode change 100644 => 100755 indra/llcommon/lldependencies.h mode change 100644 => 100755 indra/llcommon/lldepthstack.h mode change 100644 => 100755 indra/llcommon/lldictionary.cpp mode change 100644 => 100755 indra/llcommon/lldictionary.h mode change 100644 => 100755 indra/llcommon/lldlinked.h mode change 100644 => 100755 indra/llcommon/lldoubledispatch.h mode change 100644 => 100755 indra/llcommon/lldqueueptr.h mode change 100644 => 100755 indra/llcommon/llendianswizzle.h mode change 100644 => 100755 indra/llcommon/llenum.h mode change 100644 => 100755 indra/llcommon/llerror.cpp mode change 100644 => 100755 indra/llcommon/llerror.h mode change 100644 => 100755 indra/llcommon/llerrorcontrol.h mode change 100644 => 100755 indra/llcommon/llerrorlegacy.h mode change 100644 => 100755 indra/llcommon/llerrorthread.cpp mode change 100644 => 100755 indra/llcommon/llerrorthread.h mode change 100644 => 100755 indra/llcommon/llevent.cpp mode change 100644 => 100755 indra/llcommon/llevent.h mode change 100644 => 100755 indra/llcommon/lleventapi.cpp mode change 100644 => 100755 indra/llcommon/lleventapi.h mode change 100644 => 100755 indra/llcommon/lleventcoro.cpp mode change 100644 => 100755 indra/llcommon/lleventcoro.h mode change 100644 => 100755 indra/llcommon/lleventdispatcher.cpp mode change 100644 => 100755 indra/llcommon/lleventdispatcher.h mode change 100644 => 100755 indra/llcommon/lleventemitter.h mode change 100644 => 100755 indra/llcommon/lleventfilter.cpp mode change 100644 => 100755 indra/llcommon/lleventfilter.h mode change 100644 => 100755 indra/llcommon/llevents.cpp mode change 100644 => 100755 indra/llcommon/llevents.h mode change 100644 => 100755 indra/llcommon/lleventtimer.cpp mode change 100644 => 100755 indra/llcommon/lleventtimer.h mode change 100644 => 100755 indra/llcommon/llextendedstatus.h mode change 100644 => 100755 indra/llcommon/llfasttimer.h mode change 100644 => 100755 indra/llcommon/llfasttimer_class.cpp mode change 100644 => 100755 indra/llcommon/llfasttimer_class.h mode change 100644 => 100755 indra/llcommon/llfile.cpp mode change 100644 => 100755 indra/llcommon/llfile.h mode change 100644 => 100755 indra/llcommon/llfindlocale.cpp mode change 100644 => 100755 indra/llcommon/llfindlocale.h mode change 100644 => 100755 indra/llcommon/llfixedbuffer.cpp mode change 100644 => 100755 indra/llcommon/llfixedbuffer.h mode change 100644 => 100755 indra/llcommon/llfoldertype.cpp mode change 100644 => 100755 indra/llcommon/llfoldertype.h mode change 100644 => 100755 indra/llcommon/llformat.cpp mode change 100644 => 100755 indra/llcommon/llformat.h mode change 100644 => 100755 indra/llcommon/llframetimer.cpp mode change 100644 => 100755 indra/llcommon/llframetimer.h mode change 100644 => 100755 indra/llcommon/llhash.h mode change 100644 => 100755 indra/llcommon/llheartbeat.cpp mode change 100644 => 100755 indra/llcommon/llheartbeat.h mode change 100644 => 100755 indra/llcommon/llhttpstatuscodes.h mode change 100644 => 100755 indra/llcommon/llindexedqueue.h mode change 100644 => 100755 indra/llcommon/llinstancetracker.cpp mode change 100644 => 100755 indra/llcommon/llinstancetracker.h mode change 100644 => 100755 indra/llcommon/llkeythrottle.h mode change 100644 => 100755 indra/llcommon/llkeyusetracker.h mode change 100644 => 100755 indra/llcommon/lllazy.cpp mode change 100644 => 100755 indra/llcommon/lllazy.h mode change 100644 => 100755 indra/llcommon/lllinkedqueue.h mode change 100644 => 100755 indra/llcommon/lllistenerwrapper.h mode change 100644 => 100755 indra/llcommon/llliveappconfig.cpp mode change 100644 => 100755 indra/llcommon/llliveappconfig.h mode change 100644 => 100755 indra/llcommon/lllivefile.cpp mode change 100644 => 100755 indra/llcommon/lllivefile.h mode change 100644 => 100755 indra/llcommon/lllocalidhashmap.h mode change 100644 => 100755 indra/llcommon/lllog.cpp mode change 100644 => 100755 indra/llcommon/lllog.h mode change 100644 => 100755 indra/llcommon/lllslconstants.h mode change 100644 => 100755 indra/llcommon/llmap.h mode change 100644 => 100755 indra/llcommon/llmd5.cpp mode change 100644 => 100755 indra/llcommon/llmd5.h mode change 100644 => 100755 indra/llcommon/llmemory.cpp mode change 100644 => 100755 indra/llcommon/llmemory.h mode change 100644 => 100755 indra/llcommon/llmemorystream.cpp mode change 100644 => 100755 indra/llcommon/llmemorystream.h mode change 100644 => 100755 indra/llcommon/llmemtype.cpp mode change 100644 => 100755 indra/llcommon/llmemtype.h mode change 100644 => 100755 indra/llcommon/llmetrics.cpp mode change 100644 => 100755 indra/llcommon/llmetrics.h mode change 100644 => 100755 indra/llcommon/llmortician.cpp mode change 100644 => 100755 indra/llcommon/llmortician.h mode change 100644 => 100755 indra/llcommon/llnametable.h mode change 100644 => 100755 indra/llcommon/lloptioninterface.cpp mode change 100644 => 100755 indra/llcommon/lloptioninterface.h mode change 100644 => 100755 indra/llcommon/llpointer.h mode change 100644 => 100755 indra/llcommon/llpreprocessor.h mode change 100644 => 100755 indra/llcommon/llpriqueuemap.h mode change 100644 => 100755 indra/llcommon/llprocesslauncher.cpp mode change 100644 => 100755 indra/llcommon/llprocesslauncher.h mode change 100644 => 100755 indra/llcommon/llprocessor.cpp mode change 100644 => 100755 indra/llcommon/llprocessor.h mode change 100644 => 100755 indra/llcommon/llptrskiplist.h mode change 100644 => 100755 indra/llcommon/llptrskipmap.h mode change 100644 => 100755 indra/llcommon/llptrto.cpp mode change 100644 => 100755 indra/llcommon/llptrto.h mode change 100644 => 100755 indra/llcommon/llqueuedthread.cpp mode change 100644 => 100755 indra/llcommon/llqueuedthread.h mode change 100644 => 100755 indra/llcommon/llrand.cpp mode change 100644 => 100755 indra/llcommon/llrand.h mode change 100644 => 100755 indra/llcommon/llrefcount.cpp mode change 100644 => 100755 indra/llcommon/llrefcount.h mode change 100644 => 100755 indra/llcommon/llrun.cpp mode change 100644 => 100755 indra/llcommon/llrun.h mode change 100644 => 100755 indra/llcommon/llsafehandle.h mode change 100644 => 100755 indra/llcommon/llsd.cpp mode change 100644 => 100755 indra/llcommon/llsd.h mode change 100644 => 100755 indra/llcommon/llsdserialize.cpp mode change 100644 => 100755 indra/llcommon/llsdserialize.h mode change 100644 => 100755 indra/llcommon/llsdserialize_xml.cpp mode change 100644 => 100755 indra/llcommon/llsdserialize_xml.h mode change 100644 => 100755 indra/llcommon/llsdutil.cpp mode change 100644 => 100755 indra/llcommon/llsdutil.h mode change 100644 => 100755 indra/llcommon/llsecondlifeurls.cpp mode change 100644 => 100755 indra/llcommon/llsecondlifeurls.h mode change 100644 => 100755 indra/llcommon/llsimplehash.h mode change 100644 => 100755 indra/llcommon/llsingleton.cpp mode change 100644 => 100755 indra/llcommon/llsingleton.h mode change 100644 => 100755 indra/llcommon/llskiplist.h mode change 100644 => 100755 indra/llcommon/llskipmap.h mode change 100644 => 100755 indra/llcommon/llsmoothstep.h mode change 100644 => 100755 indra/llcommon/llstack.h mode change 100644 => 100755 indra/llcommon/llstacktrace.cpp mode change 100644 => 100755 indra/llcommon/llstacktrace.h mode change 100644 => 100755 indra/llcommon/llstat.cpp mode change 100644 => 100755 indra/llcommon/llstat.h mode change 100644 => 100755 indra/llcommon/llstatenums.h mode change 100644 => 100755 indra/llcommon/llstl.h mode change 100644 => 100755 indra/llcommon/llstreamtools.cpp mode change 100644 => 100755 indra/llcommon/llstreamtools.h mode change 100644 => 100755 indra/llcommon/llstrider.h mode change 100644 => 100755 indra/llcommon/llstring.cpp mode change 100644 => 100755 indra/llcommon/llstring.h mode change 100644 => 100755 indra/llcommon/llstringtable.cpp mode change 100644 => 100755 indra/llcommon/llstringtable.h mode change 100644 => 100755 indra/llcommon/llsys.cpp mode change 100644 => 100755 indra/llcommon/llsys.h mode change 100644 => 100755 indra/llcommon/llthread.cpp mode change 100644 => 100755 indra/llcommon/llthread.h mode change 100644 => 100755 indra/llcommon/lltimer.cpp mode change 100644 => 100755 indra/llcommon/lltimer.h mode change 100644 => 100755 indra/llcommon/lltreeiterators.h mode change 100644 => 100755 indra/llcommon/lluri.cpp mode change 100644 => 100755 indra/llcommon/lluri.h mode change 100644 => 100755 indra/llcommon/lluuid.cpp mode change 100644 => 100755 indra/llcommon/lluuid.h mode change 100644 => 100755 indra/llcommon/lluuidhashmap.h mode change 100644 => 100755 indra/llcommon/llversionserver.h mode change 100644 => 100755 indra/llcommon/llversionviewer.h mode change 100644 => 100755 indra/llcommon/llworkerthread.cpp mode change 100644 => 100755 indra/llcommon/llworkerthread.h mode change 100644 => 100755 indra/llcommon/metaclass.cpp mode change 100644 => 100755 indra/llcommon/metaclass.h mode change 100644 => 100755 indra/llcommon/metaclasst.h mode change 100644 => 100755 indra/llcommon/metaproperty.cpp mode change 100644 => 100755 indra/llcommon/metaproperty.h mode change 100644 => 100755 indra/llcommon/metapropertyt.h mode change 100644 => 100755 indra/llcommon/reflective.cpp mode change 100644 => 100755 indra/llcommon/reflective.h mode change 100644 => 100755 indra/llcommon/reflectivet.h mode change 100644 => 100755 indra/llcommon/roles_constants.h mode change 100644 => 100755 indra/llcommon/stdenums.h mode change 100644 => 100755 indra/llcommon/stdtypes.h mode change 100644 => 100755 indra/llcommon/string_table.h mode change 100644 => 100755 indra/llcommon/stringize.h mode change 100644 => 100755 indra/llcommon/tests/bitpack_test.cpp mode change 100644 => 100755 indra/llcommon/tests/commonmisc_test.cpp mode change 100644 => 100755 indra/llcommon/tests/listener.h mode change 100644 => 100755 indra/llcommon/tests/llallocator_heap_profile_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llallocator_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llbase64_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lldate_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lldependencies_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llerror_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lleventcoro_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lleventfilter_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llframetimer_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llinstancetracker_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lllazy_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llmemtype_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llprocessor_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llrand_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llsdserialize_test.cpp mode change 100644 => 100755 indra/llcommon/tests/llstring_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lltreeiterators_test.cpp mode change 100644 => 100755 indra/llcommon/tests/lluri_test.cpp mode change 100644 => 100755 indra/llcommon/tests/reflection_test.cpp mode change 100644 => 100755 indra/llcommon/tests/stringize_test.cpp mode change 100644 => 100755 indra/llcommon/tests/wrapllerrs.h mode change 100644 => 100755 indra/llcommon/timer.h mode change 100644 => 100755 indra/llcommon/timing.cpp mode change 100644 => 100755 indra/llcommon/timing.h mode change 100644 => 100755 indra/llcommon/u64.cpp mode change 100644 => 100755 indra/llcommon/u64.h mode change 100644 => 100755 indra/llcrashlogger/CMakeLists.txt mode change 100644 => 100755 indra/llcrashlogger/llcrashlogger.cpp mode change 100644 => 100755 indra/llcrashlogger/llcrashlogger.h mode change 100644 => 100755 indra/llimage/CMakeLists.txt mode change 100644 => 100755 indra/llimage/llimage.cpp mode change 100644 => 100755 indra/llimage/llimage.h mode change 100644 => 100755 indra/llimage/llimagebmp.cpp mode change 100644 => 100755 indra/llimage/llimagebmp.h mode change 100644 => 100755 indra/llimage/llimagedimensionsinfo.cpp mode change 100644 => 100755 indra/llimage/llimagedimensionsinfo.h mode change 100644 => 100755 indra/llimage/llimagedxt.cpp mode change 100644 => 100755 indra/llimage/llimagedxt.h mode change 100644 => 100755 indra/llimage/llimagej2c.cpp mode change 100644 => 100755 indra/llimage/llimagej2c.h mode change 100644 => 100755 indra/llimage/llimagejpeg.cpp mode change 100644 => 100755 indra/llimage/llimagejpeg.h mode change 100644 => 100755 indra/llimage/llimagepng.cpp mode change 100644 => 100755 indra/llimage/llimagepng.h mode change 100644 => 100755 indra/llimage/llimagetga.cpp mode change 100644 => 100755 indra/llimage/llimagetga.h mode change 100644 => 100755 indra/llimage/llimageworker.cpp mode change 100644 => 100755 indra/llimage/llimageworker.h mode change 100644 => 100755 indra/llimage/llmapimagetype.h mode change 100644 => 100755 indra/llimage/llpngwrapper.cpp mode change 100644 => 100755 indra/llimage/llpngwrapper.h mode change 100644 => 100755 indra/llimage/tests/llimageworker_test.cpp mode change 100644 => 100755 indra/llimagej2coj/CMakeLists.txt mode change 100644 => 100755 indra/llimagej2coj/llimagej2coj.cpp mode change 100644 => 100755 indra/llimagej2coj/llimagej2coj.h mode change 100644 => 100755 indra/llinventory/CMakeLists.txt mode change 100644 => 100755 indra/llinventory/llcategory.cpp mode change 100644 => 100755 indra/llinventory/llcategory.h mode change 100644 => 100755 indra/llinventory/lleconomy.cpp mode change 100644 => 100755 indra/llinventory/lleconomy.h mode change 100644 => 100755 indra/llinventory/llinventory.cpp mode change 100644 => 100755 indra/llinventory/llinventory.h mode change 100644 => 100755 indra/llinventory/llinventorydefines.cpp mode change 100644 => 100755 indra/llinventory/llinventorydefines.h mode change 100644 => 100755 indra/llinventory/llinventorytype.cpp mode change 100644 => 100755 indra/llinventory/llinventorytype.h mode change 100644 => 100755 indra/llinventory/lllandmark.cpp mode change 100644 => 100755 indra/llinventory/lllandmark.h mode change 100644 => 100755 indra/llinventory/llnotecard.cpp mode change 100644 => 100755 indra/llinventory/llnotecard.h mode change 100644 => 100755 indra/llinventory/llparcel.cpp mode change 100644 => 100755 indra/llinventory/llparcel.h mode change 100644 => 100755 indra/llinventory/llparcelflags.h mode change 100644 => 100755 indra/llinventory/llpermissions.cpp mode change 100644 => 100755 indra/llinventory/llpermissions.h mode change 100644 => 100755 indra/llinventory/llpermissionsflags.h mode change 100644 => 100755 indra/llinventory/llsaleinfo.cpp mode change 100644 => 100755 indra/llinventory/llsaleinfo.h mode change 100644 => 100755 indra/llinventory/lltransactionflags.cpp mode change 100644 => 100755 indra/llinventory/lltransactionflags.h mode change 100644 => 100755 indra/llinventory/lltransactiontypes.h mode change 100644 => 100755 indra/llinventory/lluserrelations.cpp mode change 100644 => 100755 indra/llinventory/lluserrelations.h mode change 100644 => 100755 indra/llinventory/tests/inventorymisc_test.cpp mode change 100644 => 100755 indra/llinventory/tests/llparcel_test.cpp mode change 100644 => 100755 indra/llmath/CMakeLists.txt mode change 100644 => 100755 indra/llmath/camera.h mode change 100644 => 100755 indra/llmath/coordframe.h mode change 100644 => 100755 indra/llmath/llbbox.cpp mode change 100644 => 100755 indra/llmath/llbbox.h mode change 100644 => 100755 indra/llmath/llbboxlocal.cpp mode change 100644 => 100755 indra/llmath/llbboxlocal.h mode change 100644 => 100755 indra/llmath/llcamera.cpp mode change 100644 => 100755 indra/llmath/llcamera.h mode change 100644 => 100755 indra/llmath/llcoord.h mode change 100644 => 100755 indra/llmath/llcoordframe.cpp mode change 100644 => 100755 indra/llmath/llcoordframe.h mode change 100644 => 100755 indra/llmath/llinterp.h mode change 100644 => 100755 indra/llmath/llline.cpp mode change 100644 => 100755 indra/llmath/llline.h mode change 100644 => 100755 indra/llmath/llmath.h mode change 100644 => 100755 indra/llmath/llmatrix3a.cpp mode change 100644 => 100755 indra/llmath/llmatrix3a.h mode change 100644 => 100755 indra/llmath/llmatrix3a.inl mode change 100644 => 100755 indra/llmath/llmatrix4a.h mode change 100644 => 100755 indra/llmath/llmodularmath.cpp mode change 100644 => 100755 indra/llmath/llmodularmath.h mode change 100644 => 100755 indra/llmath/lloctree.h mode change 100644 => 100755 indra/llmath/llperlin.cpp mode change 100644 => 100755 indra/llmath/llperlin.h mode change 100644 => 100755 indra/llmath/llplane.h mode change 100644 => 100755 indra/llmath/llquantize.h mode change 100644 => 100755 indra/llmath/llquaternion.cpp mode change 100644 => 100755 indra/llmath/llquaternion.h mode change 100644 => 100755 indra/llmath/llquaternion2.h mode change 100644 => 100755 indra/llmath/llquaternion2.inl mode change 100644 => 100755 indra/llmath/llrect.cpp mode change 100644 => 100755 indra/llmath/llrect.h mode change 100644 => 100755 indra/llmath/llsdutil_math.cpp mode change 100644 => 100755 indra/llmath/llsdutil_math.h mode change 100644 => 100755 indra/llmath/llsimdmath.h mode change 100644 => 100755 indra/llmath/llsimdtypes.h mode change 100644 => 100755 indra/llmath/llsimdtypes.inl mode change 100644 => 100755 indra/llmath/llsphere.cpp mode change 100644 => 100755 indra/llmath/llsphere.h mode change 100644 => 100755 indra/llmath/lltreenode.h mode change 100644 => 100755 indra/llmath/llv4math.h mode change 100644 => 100755 indra/llmath/llv4matrix3.h mode change 100644 => 100755 indra/llmath/llv4matrix4.h mode change 100644 => 100755 indra/llmath/llv4vector3.h mode change 100644 => 100755 indra/llmath/llvector4a.cpp mode change 100644 => 100755 indra/llmath/llvector4a.h mode change 100644 => 100755 indra/llmath/llvector4a.inl mode change 100644 => 100755 indra/llmath/llvector4logical.h mode change 100644 => 100755 indra/llmath/llvolume.cpp mode change 100644 => 100755 indra/llmath/llvolume.h mode change 100644 => 100755 indra/llmath/llvolumemgr.cpp mode change 100644 => 100755 indra/llmath/llvolumemgr.h mode change 100644 => 100755 indra/llmath/llvolumeoctree.cpp mode change 100644 => 100755 indra/llmath/llvolumeoctree.h mode change 100644 => 100755 indra/llmath/m3math.cpp mode change 100644 => 100755 indra/llmath/m3math.h mode change 100644 => 100755 indra/llmath/m4math.cpp mode change 100644 => 100755 indra/llmath/m4math.h mode change 100644 => 100755 indra/llmath/raytrace.cpp mode change 100644 => 100755 indra/llmath/raytrace.h mode change 100644 => 100755 indra/llmath/tests/llbbox_test.cpp mode change 100644 => 100755 indra/llmath/tests/llbboxlocal_test.cpp mode change 100644 => 100755 indra/llmath/tests/llmodularmath_test.cpp mode change 100644 => 100755 indra/llmath/tests/llquaternion_test.cpp mode change 100644 => 100755 indra/llmath/tests/llrect_test.cpp mode change 100644 => 100755 indra/llmath/tests/m3math_test.cpp mode change 100644 => 100755 indra/llmath/tests/mathmisc_test.cpp mode change 100644 => 100755 indra/llmath/tests/v2math_test.cpp mode change 100644 => 100755 indra/llmath/tests/v3color_test.cpp mode change 100644 => 100755 indra/llmath/tests/v3dmath_test.cpp mode change 100644 => 100755 indra/llmath/tests/v3math_test.cpp mode change 100644 => 100755 indra/llmath/tests/v4color_test.cpp mode change 100644 => 100755 indra/llmath/tests/v4coloru_test.cpp mode change 100644 => 100755 indra/llmath/tests/v4math_test.cpp mode change 100644 => 100755 indra/llmath/tests/xform_test.cpp mode change 100644 => 100755 indra/llmath/v2math.cpp mode change 100644 => 100755 indra/llmath/v2math.h mode change 100644 => 100755 indra/llmath/v3color.cpp mode change 100644 => 100755 indra/llmath/v3color.h mode change 100644 => 100755 indra/llmath/v3dmath.cpp mode change 100644 => 100755 indra/llmath/v3dmath.h mode change 100644 => 100755 indra/llmath/v3math.cpp mode change 100644 => 100755 indra/llmath/v3math.h mode change 100644 => 100755 indra/llmath/v4color.cpp mode change 100644 => 100755 indra/llmath/v4color.h mode change 100644 => 100755 indra/llmath/v4coloru.cpp mode change 100644 => 100755 indra/llmath/v4coloru.h mode change 100644 => 100755 indra/llmath/v4math.cpp mode change 100644 => 100755 indra/llmath/v4math.h mode change 100644 => 100755 indra/llmath/xform.cpp mode change 100644 => 100755 indra/llmath/xform.h mode change 100644 => 100755 indra/llmessage/CMakeLists.txt mode change 100644 => 100755 indra/llmessage/llares.cpp mode change 100644 => 100755 indra/llmessage/llares.h mode change 100644 => 100755 indra/llmessage/llareslistener.cpp mode change 100644 => 100755 indra/llmessage/llareslistener.h mode change 100644 => 100755 indra/llmessage/llassetstorage.cpp mode change 100644 => 100755 indra/llmessage/llassetstorage.h mode change 100644 => 100755 indra/llmessage/llblowfishcipher.cpp mode change 100644 => 100755 indra/llmessage/llblowfishcipher.h mode change 100644 => 100755 indra/llmessage/llbuffer.cpp mode change 100644 => 100755 indra/llmessage/llbuffer.h mode change 100644 => 100755 indra/llmessage/llbufferstream.cpp mode change 100644 => 100755 indra/llmessage/llbufferstream.h mode change 100644 => 100755 indra/llmessage/llcachename.cpp mode change 100644 => 100755 indra/llmessage/llcachename.h mode change 100644 => 100755 indra/llmessage/llchainio.cpp mode change 100644 => 100755 indra/llmessage/llchainio.h mode change 100644 => 100755 indra/llmessage/llcipher.h mode change 100644 => 100755 indra/llmessage/llcircuit.cpp mode change 100644 => 100755 indra/llmessage/llcircuit.h mode change 100644 => 100755 indra/llmessage/llclassifiedflags.cpp mode change 100644 => 100755 indra/llmessage/llclassifiedflags.h mode change 100644 => 100755 indra/llmessage/llcurl.cpp mode change 100644 => 100755 indra/llmessage/llcurl.h mode change 100644 => 100755 indra/llmessage/lldatapacker.cpp mode change 100644 => 100755 indra/llmessage/lldatapacker.h mode change 100644 => 100755 indra/llmessage/lldbstrings.h mode change 100644 => 100755 indra/llmessage/lldispatcher.cpp mode change 100644 => 100755 indra/llmessage/lldispatcher.h mode change 100644 => 100755 indra/llmessage/lleventflags.h mode change 100644 => 100755 indra/llmessage/llfiltersd2xmlrpc.cpp mode change 100644 => 100755 indra/llmessage/llfiltersd2xmlrpc.h mode change 100644 => 100755 indra/llmessage/llfollowcamparams.h mode change 100644 => 100755 indra/llmessage/llhost.cpp mode change 100644 => 100755 indra/llmessage/llhost.h mode change 100644 => 100755 indra/llmessage/llhttpassetstorage.cpp mode change 100644 => 100755 indra/llmessage/llhttpassetstorage.h mode change 100644 => 100755 indra/llmessage/llhttpclient.cpp mode change 100644 => 100755 indra/llmessage/llhttpclient.h mode change 100644 => 100755 indra/llmessage/llhttpclientadapter.cpp mode change 100644 => 100755 indra/llmessage/llhttpclientadapter.h mode change 100644 => 100755 indra/llmessage/llhttpclientinterface.h mode change 100644 => 100755 indra/llmessage/llhttpnode.cpp mode change 100644 => 100755 indra/llmessage/llhttpnode.h mode change 100644 => 100755 indra/llmessage/llhttpnodeadapter.h mode change 100644 => 100755 indra/llmessage/llhttpsender.cpp mode change 100644 => 100755 indra/llmessage/llhttpsender.h mode change 100644 => 100755 indra/llmessage/llinstantmessage.cpp mode change 100644 => 100755 indra/llmessage/llinstantmessage.h mode change 100644 => 100755 indra/llmessage/llinvite.h mode change 100644 => 100755 indra/llmessage/lliobuffer.cpp mode change 100644 => 100755 indra/llmessage/lliobuffer.h mode change 100644 => 100755 indra/llmessage/lliohttpserver.cpp mode change 100644 => 100755 indra/llmessage/lliohttpserver.h mode change 100644 => 100755 indra/llmessage/lliopipe.cpp mode change 100644 => 100755 indra/llmessage/lliopipe.h mode change 100644 => 100755 indra/llmessage/lliosocket.cpp mode change 100644 => 100755 indra/llmessage/lliosocket.h mode change 100644 => 100755 indra/llmessage/llioutil.cpp mode change 100644 => 100755 indra/llmessage/llioutil.h mode change 100644 => 100755 indra/llmessage/llloginflags.h mode change 100644 => 100755 indra/llmessage/llmail.cpp mode change 100644 => 100755 indra/llmessage/llmail.h mode change 100644 => 100755 indra/llmessage/llmessagebuilder.cpp mode change 100644 => 100755 indra/llmessage/llmessagebuilder.h mode change 100644 => 100755 indra/llmessage/llmessageconfig.cpp mode change 100644 => 100755 indra/llmessage/llmessageconfig.h mode change 100644 => 100755 indra/llmessage/llmessagereader.cpp mode change 100644 => 100755 indra/llmessage/llmessagereader.h mode change 100644 => 100755 indra/llmessage/llmessagesenderinterface.h mode change 100644 => 100755 indra/llmessage/llmessagetemplate.cpp mode change 100644 => 100755 indra/llmessage/llmessagetemplate.h mode change 100644 => 100755 indra/llmessage/llmessagetemplateparser.cpp mode change 100644 => 100755 indra/llmessage/llmessagetemplateparser.h mode change 100644 => 100755 indra/llmessage/llmessagethrottle.cpp mode change 100644 => 100755 indra/llmessage/llmessagethrottle.h mode change 100644 => 100755 indra/llmessage/llmime.cpp mode change 100644 => 100755 indra/llmessage/llmime.h mode change 100644 => 100755 indra/llmessage/llmsgvariabletype.h mode change 100644 => 100755 indra/llmessage/llnamevalue.cpp mode change 100644 => 100755 indra/llmessage/llnamevalue.h mode change 100644 => 100755 indra/llmessage/llnullcipher.cpp mode change 100644 => 100755 indra/llmessage/llnullcipher.h mode change 100644 => 100755 indra/llmessage/llpacketack.cpp mode change 100644 => 100755 indra/llmessage/llpacketack.h mode change 100644 => 100755 indra/llmessage/llpacketbuffer.cpp mode change 100644 => 100755 indra/llmessage/llpacketbuffer.h mode change 100644 => 100755 indra/llmessage/llpacketring.cpp mode change 100644 => 100755 indra/llmessage/llpacketring.h mode change 100644 => 100755 indra/llmessage/llpartdata.cpp mode change 100644 => 100755 indra/llmessage/llpartdata.h mode change 100644 => 100755 indra/llmessage/llpumpio.cpp mode change 100644 => 100755 indra/llmessage/llpumpio.h mode change 100644 => 100755 indra/llmessage/llqueryflags.h mode change 100644 => 100755 indra/llmessage/llregionflags.h mode change 100644 => 100755 indra/llmessage/llregionhandle.h mode change 100644 => 100755 indra/llmessage/llregionpresenceverifier.cpp mode change 100644 => 100755 indra/llmessage/llregionpresenceverifier.h mode change 100644 => 100755 indra/llmessage/llsdappservices.cpp mode change 100644 => 100755 indra/llmessage/llsdappservices.h mode change 100644 => 100755 indra/llmessage/llsdhttpserver.cpp mode change 100644 => 100755 indra/llmessage/llsdhttpserver.h mode change 100644 => 100755 indra/llmessage/llsdmessage.cpp mode change 100644 => 100755 indra/llmessage/llsdmessage.h mode change 100644 => 100755 indra/llmessage/llsdmessagebuilder.cpp mode change 100644 => 100755 indra/llmessage/llsdmessagebuilder.h mode change 100644 => 100755 indra/llmessage/llsdmessagereader.cpp mode change 100644 => 100755 indra/llmessage/llsdmessagereader.h mode change 100644 => 100755 indra/llmessage/llsdrpcclient.cpp mode change 100644 => 100755 indra/llmessage/llsdrpcclient.h mode change 100644 => 100755 indra/llmessage/llsdrpcserver.cpp mode change 100644 => 100755 indra/llmessage/llsdrpcserver.h mode change 100644 => 100755 indra/llmessage/llservice.cpp mode change 100644 => 100755 indra/llmessage/llservice.h mode change 100644 => 100755 indra/llmessage/llservicebuilder.cpp mode change 100644 => 100755 indra/llmessage/llservicebuilder.h mode change 100644 => 100755 indra/llmessage/llstoredmessage.cpp mode change 100644 => 100755 indra/llmessage/llstoredmessage.h mode change 100644 => 100755 indra/llmessage/lltaskname.h mode change 100644 => 100755 indra/llmessage/llteleportflags.h mode change 100644 => 100755 indra/llmessage/lltemplatemessagebuilder.cpp mode change 100644 => 100755 indra/llmessage/lltemplatemessagebuilder.h mode change 100644 => 100755 indra/llmessage/lltemplatemessagedispatcher.cpp mode change 100644 => 100755 indra/llmessage/lltemplatemessagedispatcher.h mode change 100644 => 100755 indra/llmessage/lltemplatemessagereader.cpp mode change 100644 => 100755 indra/llmessage/lltemplatemessagereader.h mode change 100644 => 100755 indra/llmessage/llthrottle.cpp mode change 100644 => 100755 indra/llmessage/llthrottle.h mode change 100644 => 100755 indra/llmessage/lltransfermanager.cpp mode change 100644 => 100755 indra/llmessage/lltransfermanager.h mode change 100644 => 100755 indra/llmessage/lltransfersourceasset.cpp mode change 100644 => 100755 indra/llmessage/lltransfersourceasset.h mode change 100644 => 100755 indra/llmessage/lltransfersourcefile.cpp mode change 100644 => 100755 indra/llmessage/lltransfersourcefile.h mode change 100644 => 100755 indra/llmessage/lltransfertargetfile.cpp mode change 100644 => 100755 indra/llmessage/lltransfertargetfile.h mode change 100644 => 100755 indra/llmessage/lltransfertargetvfile.cpp mode change 100644 => 100755 indra/llmessage/lltransfertargetvfile.h mode change 100644 => 100755 indra/llmessage/lltrustedmessageservice.cpp mode change 100644 => 100755 indra/llmessage/lltrustedmessageservice.h mode change 100644 => 100755 indra/llmessage/llurlrequest.cpp mode change 100644 => 100755 indra/llmessage/llurlrequest.h mode change 100644 => 100755 indra/llmessage/lluseroperation.cpp mode change 100644 => 100755 indra/llmessage/lluseroperation.h mode change 100644 => 100755 indra/llmessage/llvehicleparams.h mode change 100644 => 100755 indra/llmessage/llxfer.cpp mode change 100644 => 100755 indra/llmessage/llxfer.h mode change 100644 => 100755 indra/llmessage/llxfer_file.cpp mode change 100644 => 100755 indra/llmessage/llxfer_file.h mode change 100644 => 100755 indra/llmessage/llxfer_mem.cpp mode change 100644 => 100755 indra/llmessage/llxfer_mem.h mode change 100644 => 100755 indra/llmessage/llxfer_vfile.cpp mode change 100644 => 100755 indra/llmessage/llxfer_vfile.h mode change 100644 => 100755 indra/llmessage/llxfermanager.cpp mode change 100644 => 100755 indra/llmessage/llxfermanager.h mode change 100644 => 100755 indra/llmessage/llxorcipher.cpp mode change 100644 => 100755 indra/llmessage/llxorcipher.h mode change 100644 => 100755 indra/llmessage/machine.cpp mode change 100644 => 100755 indra/llmessage/machine.h mode change 100644 => 100755 indra/llmessage/mean_collision_data.h mode change 100644 => 100755 indra/llmessage/message.cpp mode change 100644 => 100755 indra/llmessage/message.h mode change 100644 => 100755 indra/llmessage/message_prehash.cpp mode change 100644 => 100755 indra/llmessage/message_prehash.h mode change 100644 => 100755 indra/llmessage/message_string_table.cpp mode change 100644 => 100755 indra/llmessage/net.cpp mode change 100644 => 100755 indra/llmessage/net.h mode change 100644 => 100755 indra/llmessage/partsyspacket.cpp mode change 100644 => 100755 indra/llmessage/partsyspacket.h mode change 100644 => 100755 indra/llmessage/patch_code.cpp mode change 100644 => 100755 indra/llmessage/patch_code.h mode change 100644 => 100755 indra/llmessage/patch_dct.cpp mode change 100644 => 100755 indra/llmessage/patch_dct.h mode change 100644 => 100755 indra/llmessage/patch_idct.cpp mode change 100644 => 100755 indra/llmessage/sound_ids.cpp mode change 100644 => 100755 indra/llmessage/sound_ids.h mode change 100644 => 100755 indra/llmessage/tests/commtest.h mode change 100644 => 100755 indra/llmessage/tests/llareslistener_test.cpp mode change 100644 => 100755 indra/llmessage/tests/llcurl_stub.cpp mode change 100644 => 100755 indra/llmessage/tests/llhost_test.cpp mode change 100644 => 100755 indra/llmessage/tests/llhttpclientadapter_test.cpp mode change 100644 => 100755 indra/llmessage/tests/llmime_test.cpp mode change 100644 => 100755 indra/llmessage/tests/llmockhttpclient.h mode change 100644 => 100755 indra/llmessage/tests/llnamevalue_test.cpp mode change 100644 => 100755 indra/llmessage/tests/llpartdata_test.cpp mode change 100644 => 100755 indra/llmessage/tests/llregionpresenceverifier_test.cpp mode change 100644 => 100755 indra/llmessage/tests/llsdmessage_test.cpp mode change 100644 => 100755 indra/llmessage/tests/lltemplatemessagedispatcher_test.cpp mode change 100644 => 100755 indra/llmessage/tests/lltesthttpclientadapter.cpp mode change 100644 => 100755 indra/llmessage/tests/lltesthttpclientadapter.h mode change 100644 => 100755 indra/llmessage/tests/lltestmessagesender.cpp mode change 100644 => 100755 indra/llmessage/tests/lltestmessagesender.h mode change 100644 => 100755 indra/llmessage/tests/lltrustedmessageservice_test.cpp mode change 100644 => 100755 indra/llmessage/tests/llxfer_file_test.cpp mode change 100644 => 100755 indra/llmessage/tests/networkio.h mode change 100644 => 100755 indra/llmessage/tests/test_llsdmessage_peer.py mode change 100644 => 100755 indra/llmessage/tests/testrunner.py mode change 100644 => 100755 indra/llplugin/CMakeLists.txt mode change 100644 => 100755 indra/llplugin/llpluginclassmedia.cpp mode change 100644 => 100755 indra/llplugin/llpluginclassmedia.h mode change 100644 => 100755 indra/llplugin/llpluginclassmediaowner.h mode change 100644 => 100755 indra/llplugin/llplugincookiestore.cpp mode change 100644 => 100755 indra/llplugin/llplugincookiestore.h mode change 100644 => 100755 indra/llplugin/llplugininstance.cpp mode change 100644 => 100755 indra/llplugin/llplugininstance.h mode change 100644 => 100755 indra/llplugin/llpluginmessage.cpp mode change 100644 => 100755 indra/llplugin/llpluginmessage.h mode change 100644 => 100755 indra/llplugin/llpluginmessageclasses.h mode change 100644 => 100755 indra/llplugin/llpluginmessagepipe.cpp mode change 100644 => 100755 indra/llplugin/llpluginmessagepipe.h mode change 100644 => 100755 indra/llplugin/llpluginprocesschild.cpp mode change 100644 => 100755 indra/llplugin/llpluginprocesschild.h mode change 100644 => 100755 indra/llplugin/llpluginprocessparent.cpp mode change 100644 => 100755 indra/llplugin/llpluginprocessparent.h mode change 100644 => 100755 indra/llplugin/llpluginsharedmemory.cpp mode change 100644 => 100755 indra/llplugin/llpluginsharedmemory.h mode change 100644 => 100755 indra/llplugin/slplugin/CMakeLists.txt mode change 100644 => 100755 indra/llplugin/slplugin/slplugin-objc.h mode change 100644 => 100755 indra/llplugin/slplugin/slplugin-objc.mm mode change 100644 => 100755 indra/llplugin/slplugin/slplugin.cpp mode change 100644 => 100755 indra/llplugin/slplugin/slplugin_info.plist mode change 100644 => 100755 indra/llplugin/tests/llplugincookiestore_test.cpp mode change 100644 => 100755 indra/llprimitive/CMakeLists.txt mode change 100644 => 100755 indra/llprimitive/legacy_object_types.h mode change 100644 => 100755 indra/llprimitive/llmaterialtable.cpp mode change 100644 => 100755 indra/llprimitive/llmaterialtable.h mode change 100644 => 100755 indra/llprimitive/llmediaentry.cpp mode change 100644 => 100755 indra/llprimitive/llmediaentry.h mode change 100644 => 100755 indra/llprimitive/llmodel.cpp mode change 100644 => 100755 indra/llprimitive/llmodel.h mode change 100644 => 100755 indra/llprimitive/llprimitive.cpp mode change 100644 => 100755 indra/llprimitive/llprimitive.h mode change 100644 => 100755 indra/llprimitive/llprimlinkinfo.h mode change 100644 => 100755 indra/llprimitive/llprimtexturelist.cpp mode change 100644 => 100755 indra/llprimitive/llprimtexturelist.h mode change 100644 => 100755 indra/llprimitive/lltextureanim.cpp mode change 100644 => 100755 indra/llprimitive/lltextureanim.h mode change 100644 => 100755 indra/llprimitive/lltextureentry.cpp mode change 100644 => 100755 indra/llprimitive/lltextureentry.h mode change 100644 => 100755 indra/llprimitive/lltree_common.h mode change 100644 => 100755 indra/llprimitive/lltreeparams.cpp mode change 100644 => 100755 indra/llprimitive/lltreeparams.h mode change 100644 => 100755 indra/llprimitive/llvolumemessage.cpp mode change 100644 => 100755 indra/llprimitive/llvolumemessage.h mode change 100644 => 100755 indra/llprimitive/llvolumexml.cpp mode change 100644 => 100755 indra/llprimitive/llvolumexml.h mode change 100644 => 100755 indra/llprimitive/material_codes.cpp mode change 100644 => 100755 indra/llprimitive/material_codes.h mode change 100644 => 100755 indra/llprimitive/object_flags.h mode change 100644 => 100755 indra/llprimitive/tests/llmediaentry_test.cpp mode change 100644 => 100755 indra/llprimitive/tests/llmessagesystem_stub.cpp mode change 100644 => 100755 indra/llprimitive/tests/llprimitive_test.cpp mode change 100644 => 100755 indra/llrender/CMakeLists.txt mode change 100644 => 100755 indra/llrender/llcubemap.cpp mode change 100644 => 100755 indra/llrender/llcubemap.h mode change 100644 => 100755 indra/llrender/llfontbitmapcache.cpp mode change 100644 => 100755 indra/llrender/llfontbitmapcache.h mode change 100644 => 100755 indra/llrender/llfontfreetype.cpp mode change 100644 => 100755 indra/llrender/llfontfreetype.h mode change 100644 => 100755 indra/llrender/llfontgl.cpp mode change 100644 => 100755 indra/llrender/llfontgl.h mode change 100644 => 100755 indra/llrender/llfontregistry.cpp mode change 100644 => 100755 indra/llrender/llfontregistry.h mode change 100644 => 100755 indra/llrender/llgl.cpp mode change 100644 => 100755 indra/llrender/llgl.h mode change 100644 => 100755 indra/llrender/llgldbg.cpp mode change 100644 => 100755 indra/llrender/llgldbg.h mode change 100644 => 100755 indra/llrender/llglheaders.h mode change 100644 => 100755 indra/llrender/llglslshader.cpp mode change 100644 => 100755 indra/llrender/llglslshader.h mode change 100644 => 100755 indra/llrender/llglstates.h mode change 100644 => 100755 indra/llrender/llgltypes.h mode change 100644 => 100755 indra/llrender/llimagegl.cpp mode change 100644 => 100755 indra/llrender/llimagegl.h mode change 100644 => 100755 indra/llrender/llpostprocess.cpp mode change 100644 => 100755 indra/llrender/llpostprocess.h mode change 100644 => 100755 indra/llrender/llrender.cpp mode change 100644 => 100755 indra/llrender/llrender.h mode change 100644 => 100755 indra/llrender/llrendersphere.cpp mode change 100644 => 100755 indra/llrender/llrendersphere.h mode change 100644 => 100755 indra/llrender/llrendertarget.cpp mode change 100644 => 100755 indra/llrender/llrendertarget.h mode change 100644 => 100755 indra/llrender/llshadermgr.cpp mode change 100644 => 100755 indra/llrender/llshadermgr.h mode change 100644 => 100755 indra/llrender/lltexture.cpp mode change 100644 => 100755 indra/llrender/lltexture.h mode change 100644 => 100755 indra/llrender/llvertexbuffer.cpp mode change 100644 => 100755 indra/llrender/llvertexbuffer.h mode change 100644 => 100755 indra/llui/CMakeLists.txt mode change 100644 => 100755 indra/llui/llaccordionctrl.cpp mode change 100644 => 100755 indra/llui/llaccordionctrl.h mode change 100644 => 100755 indra/llui/llaccordionctrltab.cpp mode change 100644 => 100755 indra/llui/llaccordionctrltab.h mode change 100644 => 100755 indra/llui/llbutton.cpp mode change 100644 => 100755 indra/llui/llbutton.h mode change 100644 => 100755 indra/llui/llcallbackmap.h mode change 100644 => 100755 indra/llui/llcheckboxctrl.cpp mode change 100644 => 100755 indra/llui/llcheckboxctrl.h mode change 100644 => 100755 indra/llui/llclipboard.cpp mode change 100644 => 100755 indra/llui/llclipboard.h mode change 100644 => 100755 indra/llui/llcombobox.cpp mode change 100644 => 100755 indra/llui/llcombobox.h mode change 100644 => 100755 indra/llui/llconsole.cpp mode change 100644 => 100755 indra/llui/llconsole.h mode change 100644 => 100755 indra/llui/llcontainerview.cpp mode change 100644 => 100755 indra/llui/llcontainerview.h mode change 100644 => 100755 indra/llui/llctrlselectioninterface.cpp mode change 100644 => 100755 indra/llui/llctrlselectioninterface.h mode change 100644 => 100755 indra/llui/lldockablefloater.cpp mode change 100644 => 100755 indra/llui/lldockablefloater.h mode change 100644 => 100755 indra/llui/lldockcontrol.cpp mode change 100644 => 100755 indra/llui/lldockcontrol.h mode change 100644 => 100755 indra/llui/lldraghandle.cpp mode change 100644 => 100755 indra/llui/lldraghandle.h mode change 100644 => 100755 indra/llui/lleditmenuhandler.cpp mode change 100644 => 100755 indra/llui/lleditmenuhandler.h mode change 100644 => 100755 indra/llui/llf32uictrl.cpp mode change 100644 => 100755 indra/llui/llf32uictrl.h mode change 100644 => 100755 indra/llui/llfiltereditor.cpp mode change 100644 => 100755 indra/llui/llfiltereditor.h mode change 100644 => 100755 indra/llui/llflatlistview.cpp mode change 100644 => 100755 indra/llui/llflatlistview.h mode change 100644 => 100755 indra/llui/llfloater.cpp mode change 100644 => 100755 indra/llui/llfloater.h mode change 100644 => 100755 indra/llui/llfloaterreg.cpp mode change 100644 => 100755 indra/llui/llfloaterreg.h mode change 100644 => 100755 indra/llui/llfloaterreglistener.cpp mode change 100644 => 100755 indra/llui/llfloaterreglistener.h mode change 100644 => 100755 indra/llui/llflyoutbutton.cpp mode change 100644 => 100755 indra/llui/llflyoutbutton.h mode change 100644 => 100755 indra/llui/llfocusmgr.cpp mode change 100644 => 100755 indra/llui/llfocusmgr.h mode change 100644 => 100755 indra/llui/llfunctorregistry.cpp mode change 100644 => 100755 indra/llui/llfunctorregistry.h mode change 100644 => 100755 indra/llui/llhandle.h mode change 100644 => 100755 indra/llui/llhelp.h mode change 100644 => 100755 indra/llui/lliconctrl.cpp mode change 100644 => 100755 indra/llui/lliconctrl.h mode change 100644 => 100755 indra/llui/llkeywords.cpp mode change 100644 => 100755 indra/llui/llkeywords.h mode change 100644 => 100755 indra/llui/lllayoutstack.cpp mode change 100644 => 100755 indra/llui/lllayoutstack.h mode change 100644 => 100755 indra/llui/lllazyvalue.h mode change 100644 => 100755 indra/llui/lllineeditor.cpp mode change 100644 => 100755 indra/llui/lllineeditor.h mode change 100644 => 100755 indra/llui/llloadingindicator.cpp mode change 100644 => 100755 indra/llui/llloadingindicator.h mode change 100644 => 100755 indra/llui/lllocalcliprect.cpp mode change 100644 => 100755 indra/llui/lllocalcliprect.h mode change 100644 => 100755 indra/llui/llmenubutton.cpp mode change 100644 => 100755 indra/llui/llmenubutton.h mode change 100644 => 100755 indra/llui/llmenugl.cpp mode change 100644 => 100755 indra/llui/llmenugl.h mode change 100644 => 100755 indra/llui/llmodaldialog.cpp mode change 100644 => 100755 indra/llui/llmodaldialog.h mode change 100644 => 100755 indra/llui/llmultifloater.cpp mode change 100644 => 100755 indra/llui/llmultifloater.h mode change 100644 => 100755 indra/llui/llmultislider.cpp mode change 100644 => 100755 indra/llui/llmultislider.h mode change 100644 => 100755 indra/llui/llmultisliderctrl.cpp mode change 100644 => 100755 indra/llui/llmultisliderctrl.h mode change 100644 => 100755 indra/llui/llnotificationptr.h mode change 100644 => 100755 indra/llui/llnotifications.cpp mode change 100644 => 100755 indra/llui/llnotifications.h mode change 100644 => 100755 indra/llui/llnotificationslistener.cpp mode change 100644 => 100755 indra/llui/llnotificationslistener.h mode change 100644 => 100755 indra/llui/llnotificationsutil.cpp mode change 100644 => 100755 indra/llui/llnotificationsutil.h mode change 100644 => 100755 indra/llui/llpanel.cpp mode change 100644 => 100755 indra/llui/llpanel.h mode change 100644 => 100755 indra/llui/llprogressbar.cpp mode change 100644 => 100755 indra/llui/llprogressbar.h mode change 100644 => 100755 indra/llui/llradiogroup.cpp mode change 100644 => 100755 indra/llui/llradiogroup.h mode change 100644 => 100755 indra/llui/llresizebar.cpp mode change 100644 => 100755 indra/llui/llresizebar.h mode change 100644 => 100755 indra/llui/llresizehandle.cpp mode change 100644 => 100755 indra/llui/llresizehandle.h mode change 100644 => 100755 indra/llui/llresmgr.cpp mode change 100644 => 100755 indra/llui/llresmgr.h mode change 100644 => 100755 indra/llui/llrngwriter.cpp mode change 100644 => 100755 indra/llui/llrngwriter.h mode change 100644 => 100755 indra/llui/llscrollbar.cpp mode change 100644 => 100755 indra/llui/llscrollbar.h mode change 100644 => 100755 indra/llui/llscrollcontainer.cpp mode change 100644 => 100755 indra/llui/llscrollcontainer.h mode change 100644 => 100755 indra/llui/llscrollingpanellist.cpp mode change 100644 => 100755 indra/llui/llscrollingpanellist.h mode change 100644 => 100755 indra/llui/llscrolllistcell.cpp mode change 100644 => 100755 indra/llui/llscrolllistcell.h mode change 100644 => 100755 indra/llui/llscrolllistcolumn.cpp mode change 100644 => 100755 indra/llui/llscrolllistcolumn.h mode change 100644 => 100755 indra/llui/llscrolllistctrl.cpp mode change 100644 => 100755 indra/llui/llscrolllistctrl.h mode change 100644 => 100755 indra/llui/llscrolllistitem.cpp mode change 100644 => 100755 indra/llui/llscrolllistitem.h mode change 100644 => 100755 indra/llui/llsdparam.cpp mode change 100644 => 100755 indra/llui/llsdparam.h mode change 100644 => 100755 indra/llui/llsearcheditor.cpp mode change 100644 => 100755 indra/llui/llsearcheditor.h mode change 100644 => 100755 indra/llui/llslider.cpp mode change 100644 => 100755 indra/llui/llslider.h mode change 100644 => 100755 indra/llui/llsliderctrl.cpp mode change 100644 => 100755 indra/llui/llsliderctrl.h mode change 100644 => 100755 indra/llui/llspinctrl.cpp mode change 100644 => 100755 indra/llui/llspinctrl.h mode change 100644 => 100755 indra/llui/llstatbar.cpp mode change 100644 => 100755 indra/llui/llstatbar.h mode change 100644 => 100755 indra/llui/llstatgraph.cpp mode change 100644 => 100755 indra/llui/llstatgraph.h mode change 100644 => 100755 indra/llui/llstatview.cpp mode change 100644 => 100755 indra/llui/llstatview.h mode change 100644 => 100755 indra/llui/llstyle.cpp mode change 100644 => 100755 indra/llui/llstyle.h mode change 100644 => 100755 indra/llui/lltabcontainer.cpp mode change 100644 => 100755 indra/llui/lltabcontainer.h mode change 100644 => 100755 indra/llui/lltextbase.cpp mode change 100644 => 100755 indra/llui/lltextbase.h mode change 100644 => 100755 indra/llui/lltextbox.cpp mode change 100644 => 100755 indra/llui/lltextbox.h mode change 100644 => 100755 indra/llui/lltexteditor.cpp mode change 100644 => 100755 indra/llui/lltexteditor.h mode change 100644 => 100755 indra/llui/lltextparser.cpp mode change 100644 => 100755 indra/llui/lltextparser.h mode change 100644 => 100755 indra/llui/lltextutil.cpp mode change 100644 => 100755 indra/llui/lltextutil.h mode change 100644 => 100755 indra/llui/lltextvalidate.cpp mode change 100644 => 100755 indra/llui/lltextvalidate.h mode change 100644 => 100755 indra/llui/lltoggleablemenu.cpp mode change 100644 => 100755 indra/llui/lltoggleablemenu.h mode change 100644 => 100755 indra/llui/lltooltip.cpp mode change 100644 => 100755 indra/llui/lltooltip.h mode change 100644 => 100755 indra/llui/lltransutil.cpp mode change 100644 => 100755 indra/llui/lltransutil.h mode change 100644 => 100755 indra/llui/llui.cpp mode change 100644 => 100755 indra/llui/llui.h mode change 100644 => 100755 indra/llui/lluicolortable.cpp mode change 100644 => 100755 indra/llui/lluicolortable.h mode change 100644 => 100755 indra/llui/lluiconstants.h mode change 100644 => 100755 indra/llui/lluictrl.cpp mode change 100644 => 100755 indra/llui/lluictrl.h mode change 100644 => 100755 indra/llui/lluictrlfactory.cpp mode change 100644 => 100755 indra/llui/lluictrlfactory.h mode change 100644 => 100755 indra/llui/lluifwd.h mode change 100644 => 100755 indra/llui/lluiimage.cpp mode change 100644 => 100755 indra/llui/lluiimage.h mode change 100644 => 100755 indra/llui/lluistring.cpp mode change 100644 => 100755 indra/llui/lluistring.h mode change 100644 => 100755 indra/llui/llundo.cpp mode change 100644 => 100755 indra/llui/llundo.h mode change 100644 => 100755 indra/llui/llurlaction.cpp mode change 100644 => 100755 indra/llui/llurlaction.h mode change 100644 => 100755 indra/llui/llurlentry.cpp mode change 100644 => 100755 indra/llui/llurlentry.h mode change 100644 => 100755 indra/llui/llurlmatch.cpp mode change 100644 => 100755 indra/llui/llurlmatch.h mode change 100644 => 100755 indra/llui/llurlregistry.cpp mode change 100644 => 100755 indra/llui/llurlregistry.h mode change 100644 => 100755 indra/llui/llview.cpp mode change 100644 => 100755 indra/llui/llview.h mode change 100644 => 100755 indra/llui/llviewborder.cpp mode change 100644 => 100755 indra/llui/llviewborder.h mode change 100644 => 100755 indra/llui/llviewmodel.cpp mode change 100644 => 100755 indra/llui/llviewmodel.h mode change 100644 => 100755 indra/llui/llviewquery.cpp mode change 100644 => 100755 indra/llui/llviewquery.h mode change 100644 => 100755 indra/llui/tests/llurlentry_stub.cpp mode change 100644 => 100755 indra/llui/tests/llurlentry_test.cpp mode change 100644 => 100755 indra/llui/tests/llurlmatch_test.cpp mode change 100644 => 100755 indra/llvfs/CMakeLists.txt mode change 100644 => 100755 indra/llvfs/lldir.cpp mode change 100644 => 100755 indra/llvfs/lldir.h mode change 100644 => 100755 indra/llvfs/lldir_linux.cpp mode change 100644 => 100755 indra/llvfs/lldir_linux.h mode change 100644 => 100755 indra/llvfs/lldir_mac.cpp mode change 100644 => 100755 indra/llvfs/lldir_mac.h mode change 100644 => 100755 indra/llvfs/lldir_solaris.cpp mode change 100644 => 100755 indra/llvfs/lldir_solaris.h mode change 100644 => 100755 indra/llvfs/lldir_win32.cpp mode change 100644 => 100755 indra/llvfs/lldir_win32.h mode change 100644 => 100755 indra/llvfs/lldirguard.h mode change 100644 => 100755 indra/llvfs/lllfsthread.cpp mode change 100644 => 100755 indra/llvfs/lllfsthread.h mode change 100644 => 100755 indra/llvfs/llpidlock.cpp mode change 100644 => 100755 indra/llvfs/llpidlock.h mode change 100644 => 100755 indra/llvfs/llvfile.cpp mode change 100644 => 100755 indra/llvfs/llvfile.h mode change 100644 => 100755 indra/llvfs/llvfs.cpp mode change 100644 => 100755 indra/llvfs/llvfs.h mode change 100644 => 100755 indra/llvfs/llvfsthread.cpp mode change 100644 => 100755 indra/llvfs/llvfsthread.h mode change 100644 => 100755 indra/llvfs/tests/lldir_test.cpp mode change 100644 => 100755 indra/llwindow/CMakeLists.txt mode change 100644 => 100755 indra/llwindow/GL/glh_extensions.h mode change 100644 => 100755 indra/llwindow/GL/glh_genext.h mode change 100644 => 100755 indra/llwindow/lldragdropwin32.cpp mode change 100644 => 100755 indra/llwindow/lldragdropwin32.h mode change 100644 => 100755 indra/llwindow/lldxhardware.cpp mode change 100644 => 100755 indra/llwindow/lldxhardware.h mode change 100644 => 100755 indra/llwindow/llkeyboard.cpp mode change 100644 => 100755 indra/llwindow/llkeyboard.h mode change 100644 => 100755 indra/llwindow/llkeyboardmacosx.cpp mode change 100644 => 100755 indra/llwindow/llkeyboardmacosx.h mode change 100644 => 100755 indra/llwindow/llkeyboardsdl.cpp mode change 100644 => 100755 indra/llwindow/llkeyboardsdl.h mode change 100644 => 100755 indra/llwindow/llkeyboardwin32.cpp mode change 100644 => 100755 indra/llwindow/llkeyboardwin32.h mode change 100644 => 100755 indra/llwindow/llmousehandler.cpp mode change 100644 => 100755 indra/llwindow/llmousehandler.h mode change 100644 => 100755 indra/llwindow/llpreeditor.h mode change 100644 => 100755 indra/llwindow/llwindow.cpp mode change 100644 => 100755 indra/llwindow/llwindow.h mode change 100644 => 100755 indra/llwindow/llwindowcallbacks.cpp mode change 100644 => 100755 indra/llwindow/llwindowcallbacks.h mode change 100644 => 100755 indra/llwindow/llwindowheadless.cpp mode change 100644 => 100755 indra/llwindow/llwindowheadless.h mode change 100644 => 100755 indra/llwindow/llwindowmacosx-objc.h mode change 100644 => 100755 indra/llwindow/llwindowmacosx-objc.mm mode change 100644 => 100755 indra/llwindow/llwindowmacosx.cpp mode change 100644 => 100755 indra/llwindow/llwindowmacosx.h mode change 100644 => 100755 indra/llwindow/llwindowmesaheadless.cpp mode change 100644 => 100755 indra/llwindow/llwindowmesaheadless.h mode change 100644 => 100755 indra/llwindow/llwindowsdl.cpp mode change 100644 => 100755 indra/llwindow/llwindowsdl.h mode change 100644 => 100755 indra/llwindow/llwindowwin32.cpp mode change 100644 => 100755 indra/llwindow/llwindowwin32.h mode change 100644 => 100755 indra/llxml/CMakeLists.txt mode change 100644 => 100755 indra/llxml/llcontrol.cpp mode change 100644 => 100755 indra/llxml/llcontrol.h mode change 100644 => 100755 indra/llxml/llcontrolgroupreader.h mode change 100644 => 100755 indra/llxml/llxmlnode.cpp mode change 100644 => 100755 indra/llxml/llxmlnode.h mode change 100644 => 100755 indra/llxml/llxmlparser.cpp mode change 100644 => 100755 indra/llxml/llxmlparser.h mode change 100644 => 100755 indra/llxml/llxmltree.cpp mode change 100644 => 100755 indra/llxml/llxmltree.h mode change 100644 => 100755 indra/llxml/tests/llcontrol_test.cpp mode change 100644 => 100755 indra/llxuixml/CMakeLists.txt mode change 100644 => 100755 indra/llxuixml/llinitparam.cpp mode change 100644 => 100755 indra/llxuixml/llinitparam.h mode change 100644 => 100755 indra/llxuixml/llregistry.h mode change 100644 => 100755 indra/llxuixml/lltrans.cpp mode change 100644 => 100755 indra/llxuixml/lltrans.h mode change 100644 => 100755 indra/llxuixml/lluicolor.cpp mode change 100644 => 100755 indra/llxuixml/lluicolor.h mode change 100644 => 100755 indra/llxuixml/llxuiparser.cpp mode change 100644 => 100755 indra/llxuixml/llxuiparser.h mode change 100644 => 100755 indra/lscript/CMakeLists.txt mode change 100644 => 100755 indra/lscript/llscriptresource.h mode change 100644 => 100755 indra/lscript/llscriptresourceconsumer.h mode change 100644 => 100755 indra/lscript/llscriptresourcepool.h mode change 100644 => 100755 indra/lscript/lscript_alloc.h mode change 100644 => 100755 indra/lscript/lscript_byteconvert.h mode change 100644 => 100755 indra/lscript/lscript_byteformat.h mode change 100644 => 100755 indra/lscript/lscript_compile/CMakeLists.txt mode change 100644 => 100755 indra/lscript/lscript_compile/indra.l mode change 100644 => 100755 indra/lscript/lscript_compile/indra.y mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_alloc.cpp mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_bytecode.cpp mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_bytecode.h mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_error.cpp mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_error.h mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_heap.cpp mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_heap.h mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_resource.cpp mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_resource.h mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_scope.cpp mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_scope.h mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_tree.cpp mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_tree.h mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_typecheck.cpp mode change 100644 => 100755 indra/lscript/lscript_compile/lscript_typecheck.h mode change 100644 => 100755 indra/lscript/lscript_compile/windows/unistd.h mode change 100644 => 100755 indra/lscript/lscript_execute.h mode change 100644 => 100755 indra/lscript/lscript_execute/CMakeLists.txt mode change 100644 => 100755 indra/lscript/lscript_execute/llscriptresource.cpp mode change 100644 => 100755 indra/lscript/lscript_execute/llscriptresourceconsumer.cpp mode change 100644 => 100755 indra/lscript/lscript_execute/llscriptresourcepool.cpp mode change 100644 => 100755 indra/lscript/lscript_execute/lscript_execute.cpp mode change 100644 => 100755 indra/lscript/lscript_execute/lscript_heapruntime.cpp mode change 100644 => 100755 indra/lscript/lscript_execute/lscript_heapruntime.h mode change 100644 => 100755 indra/lscript/lscript_execute/lscript_readlso.cpp mode change 100644 => 100755 indra/lscript/lscript_execute/lscript_readlso.h mode change 100644 => 100755 indra/lscript/lscript_export.h mode change 100644 => 100755 indra/lscript/lscript_http.h mode change 100644 => 100755 indra/lscript/lscript_library.h mode change 100644 => 100755 indra/lscript/lscript_library/CMakeLists.txt mode change 100644 => 100755 indra/lscript/lscript_library/lscript_alloc.cpp mode change 100644 => 100755 indra/lscript/lscript_library/lscript_export.cpp mode change 100644 => 100755 indra/lscript/lscript_library/lscript_library.cpp mode change 100644 => 100755 indra/lscript/lscript_rt_interface.h mode change 100644 => 100755 indra/mac_crash_logger/CMakeLists.txt mode change 100644 => 100755 indra/mac_crash_logger/CrashReporter.nib/classes.nib mode change 100644 => 100755 indra/mac_crash_logger/CrashReporter.nib/info.nib mode change 100644 => 100755 indra/mac_crash_logger/CrashReporter.nib/objects.xib mode change 100644 => 100755 indra/mac_crash_logger/Info.plist mode change 100644 => 100755 indra/mac_crash_logger/llcrashloggermac.cpp mode change 100644 => 100755 indra/mac_crash_logger/llcrashloggermac.h mode change 100644 => 100755 indra/mac_crash_logger/mac_crash_logger.cpp mode change 100644 => 100755 indra/mac_updater/AutoUpdater.nib/classes.nib mode change 100644 => 100755 indra/mac_updater/AutoUpdater.nib/info.nib mode change 100644 => 100755 indra/mac_updater/AutoUpdater.nib/objects.xib mode change 100644 => 100755 indra/mac_updater/CMakeLists.txt mode change 100644 => 100755 indra/mac_updater/Info.plist mode change 100644 => 100755 indra/mac_updater/mac_updater.cpp mode change 100644 => 100755 indra/media_plugins/CMakeLists.txt mode change 100644 => 100755 indra/media_plugins/base/CMakeLists.txt mode change 100644 => 100755 indra/media_plugins/base/media_plugin_base.cpp mode change 100644 => 100755 indra/media_plugins/base/media_plugin_base.exp mode change 100644 => 100755 indra/media_plugins/base/media_plugin_base.h mode change 100644 => 100755 indra/media_plugins/example/CMakeLists.txt mode change 100644 => 100755 indra/media_plugins/example/media_plugin_example.cpp mode change 100644 => 100755 indra/media_plugins/gstreamer010/CMakeLists.txt mode change 100644 => 100755 indra/media_plugins/gstreamer010/llmediaimplgstreamer.h mode change 100644 => 100755 indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp mode change 100644 => 100755 indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h mode change 100644 => 100755 indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms_raw.inc mode change 100644 => 100755 indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms_rawv.inc mode change 100644 => 100755 indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h mode change 100644 => 100755 indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp mode change 100644 => 100755 indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h mode change 100644 => 100755 indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp mode change 100644 => 100755 indra/media_plugins/quicktime/CMakeLists.txt mode change 100644 => 100755 indra/media_plugins/quicktime/media_plugin_quicktime.cpp mode change 100644 => 100755 indra/media_plugins/webkit/CMakeLists.txt mode change 100644 => 100755 indra/media_plugins/webkit/dummy_volume_catcher.cpp mode change 100644 => 100755 indra/media_plugins/webkit/linux_volume_catcher.cpp mode change 100644 => 100755 indra/media_plugins/webkit/linux_volume_catcher_pa_syms.inc mode change 100644 => 100755 indra/media_plugins/webkit/linux_volume_catcher_paglib_syms.inc mode change 100644 => 100755 indra/media_plugins/webkit/mac_volume_catcher.cpp mode change 100644 => 100755 indra/media_plugins/webkit/media_plugin_webkit.cpp mode change 100644 => 100755 indra/media_plugins/webkit/volume_catcher.h mode change 100644 => 100755 indra/media_plugins/webkit/windows_volume_catcher.cpp mode change 100644 => 100755 indra/media_plugins/winmmshim/CMakeLists.txt mode change 100644 => 100755 indra/media_plugins/winmmshim/forwarding_api.cpp mode change 100644 => 100755 indra/media_plugins/winmmshim/forwarding_api.h mode change 100644 => 100755 indra/media_plugins/winmmshim/winmm.def mode change 100644 => 100755 indra/media_plugins/winmmshim/winmm_shim.cpp mode change 100644 => 100755 indra/newview/CMakeLists.txt mode change 100644 => 100755 indra/newview/English.lproj/InfoPlist.strings mode change 100644 => 100755 indra/newview/English.lproj/language.txt mode change 100644 => 100755 indra/newview/German.lproj/language.txt mode change 100644 => 100755 indra/newview/Info-SecondLife.plist mode change 100644 => 100755 indra/newview/Info-SecondLifeVorbis.plist mode change 100644 => 100755 indra/newview/Japanese.lproj/language.txt mode change 100644 => 100755 indra/newview/Korean.lproj/language.txt mode change 100644 => 100755 indra/newview/SecondLife.nib/classes.nib mode change 100644 => 100755 indra/newview/SecondLife.nib/info.nib mode change 100644 => 100755 indra/newview/SecondLife.nib/objects.xib mode change 100644 => 100755 indra/newview/VertexCache.h mode change 100644 => 100755 indra/newview/ViewerInstall.cmake mode change 100644 => 100755 indra/newview/VorbisFramework.h mode change 100644 => 100755 indra/newview/app_settings/CA.pem mode change 100644 => 100755 indra/newview/app_settings/anim.ini mode change 100644 => 100755 indra/newview/app_settings/cmd_line.xml mode change 100644 => 100755 indra/newview/app_settings/foldertypes.xml mode change 100644 => 100755 indra/newview/app_settings/grass.xml mode change 100644 => 100755 indra/newview/app_settings/high_graphics.xml mode change 100644 => 100755 indra/newview/app_settings/ignorable_dialogs.xml mode change 100644 => 100755 indra/newview/app_settings/keys.ini mode change 100644 => 100755 indra/newview/app_settings/keywords.ini mode change 100644 => 100755 indra/newview/app_settings/logcontrol.xml mode change 100644 => 100755 indra/newview/app_settings/low_graphics.xml mode change 100644 => 100755 indra/newview/app_settings/mid_graphics.xml mode change 100644 => 100755 indra/newview/app_settings/settings.xml mode change 100644 => 100755 indra/newview/app_settings/settings_crash_behavior.xml mode change 100644 => 100755 indra/newview/app_settings/settings_files.xml mode change 100644 => 100755 indra/newview/app_settings/settings_per_account.xml mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/avatar/pickAvatarF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/avatar/pickAvatarV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/attachmentShadowF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/attachmentShadowV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/avatarAlphaF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/avatarAlphaV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/giF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/giV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/luminanceV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/pointLightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/postgiF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/postgiV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/softenLightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/sunLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/sunLightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/treeF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/treeV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/waterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/deferred/waterV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/effects/glowF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/effects/glowV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/environment/terrainF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/environment/terrainV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/environment/underWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/environment/waterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/environment/waterV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/interface/highlightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/interface/highlightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightFullbrightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightFullbrightWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightShinyF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightShinyWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/lightWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/fullbrightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/fullbrightShinyF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/fullbrightShinyV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/fullbrightShinyWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/fullbrightSkinnedV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/fullbrightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/fullbrightWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/shinyF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/shinySimpleSkinnedV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/shinyV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/shinyWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/simpleF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/simpleSkinnedV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/simpleV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/objects/simpleWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class1/windlight/transportF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/avatar/eyeballV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/alphaV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/avatarAlphaF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/avatarAlphaV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/edgeF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/edgeV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/postDeferredF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/postDeferredV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/softenLightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/deferred/sunLightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/effects/blurF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/effects/blurV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/effects/colorFilterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/effects/drawQuadV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/effects/extractF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/effects/nightVisionF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/effects/simpleF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/environment/terrainF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/environment/terrainV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/environment/terrainWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/environment/underWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/environment/waterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightFullbrightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightFullbrightWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightShinyF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightShinyWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightSpecularV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/lightWaterF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/sumLightsSpecularV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/lighting/sumLightsV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/objects/shinyV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/atmosphericsHelpersV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/atmosphericsV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/gammaF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/skyF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/skyV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class2/windlight/transportF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/giDownsampleF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/giF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/giFinalF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/giV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/luminanceF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/postDeferredF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/postgiF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/deferred/treeF.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/lighting/sumLightsSpecularV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl mode change 100644 => 100755 indra/newview/app_settings/shaders/shader_heirarchy.txt mode change 100644 => 100755 indra/newview/app_settings/static_data.db2 mode change 100644 => 100755 indra/newview/app_settings/static_index.db2 mode change 100644 => 100755 indra/newview/app_settings/std_bump.ini mode change 100644 => 100755 indra/newview/app_settings/trees.xml mode change 100644 => 100755 indra/newview/app_settings/ultra_graphics.xml mode change 100644 => 100755 indra/newview/app_settings/viewerart.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/clouds2.tga mode change 100644 => 100755 indra/newview/app_settings/windlight/days/Default.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/postprocesseffects.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/A%2D12AM.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/A%2D12PM.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/A%2D3AM.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/A%2D3PM.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/A%2D6AM.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/A%2D6PM.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/A%2D9AM.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/A%2D9PM.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Barcelona.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Blizzard.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Blue%20Midday.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Coastal%20Afternoon.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Coastal%20Sunset.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Default.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Desert%20Sunset.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Fine%20Day.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Fluffy%20Big%20Clouds.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Foggy.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Funky%20Funky%20Funky.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Funky%20Funky.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Gelatto.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Ghost.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Incongruent%20Truths.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Midday%201.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Midday%202.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Midday%203.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Midday%204.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Night.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Pirate.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Purple.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Sailor%27s%20Delight.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/skies/Sheer%20Surreality.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/water/Default.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/water/Glassy.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/water/Murky.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/water/Pond.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/water/SNAKE%21%21%21.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/water/Second%20Plague.xml mode change 100644 => 100755 indra/newview/app_settings/windlight/water/Valdez.xml mode change 100644 => 100755 indra/newview/build_win32_appConfig.py mode change 100644 => 100755 indra/newview/character/attentions.xml mode change 100644 => 100755 indra/newview/character/attentionsN.xml mode change 100644 => 100755 indra/newview/character/avatar_eye.llm mode change 100644 => 100755 indra/newview/character/avatar_eye_1.llm mode change 100644 => 100755 indra/newview/character/avatar_eyelashes.llm mode change 100644 => 100755 indra/newview/character/avatar_hair.llm mode change 100644 => 100755 indra/newview/character/avatar_hair_1.llm mode change 100644 => 100755 indra/newview/character/avatar_hair_2.llm mode change 100644 => 100755 indra/newview/character/avatar_hair_3.llm mode change 100644 => 100755 indra/newview/character/avatar_hair_4.llm mode change 100644 => 100755 indra/newview/character/avatar_hair_5.llm mode change 100644 => 100755 indra/newview/character/avatar_head.llm mode change 100644 => 100755 indra/newview/character/avatar_head_1.llm mode change 100644 => 100755 indra/newview/character/avatar_head_2.llm mode change 100644 => 100755 indra/newview/character/avatar_head_3.llm mode change 100644 => 100755 indra/newview/character/avatar_head_4.llm mode change 100644 => 100755 indra/newview/character/avatar_lad.xml mode change 100644 => 100755 indra/newview/character/avatar_lower_body.llm mode change 100644 => 100755 indra/newview/character/avatar_lower_body_1.llm mode change 100644 => 100755 indra/newview/character/avatar_lower_body_2.llm mode change 100644 => 100755 indra/newview/character/avatar_lower_body_3.llm mode change 100644 => 100755 indra/newview/character/avatar_lower_body_4.llm mode change 100644 => 100755 indra/newview/character/avatar_skeleton.xml mode change 100644 => 100755 indra/newview/character/avatar_skirt.llm mode change 100644 => 100755 indra/newview/character/avatar_skirt_1.llm mode change 100644 => 100755 indra/newview/character/avatar_skirt_2.llm mode change 100644 => 100755 indra/newview/character/avatar_skirt_3.llm mode change 100644 => 100755 indra/newview/character/avatar_skirt_4.llm mode change 100644 => 100755 indra/newview/character/avatar_upper_body.llm mode change 100644 => 100755 indra/newview/character/avatar_upper_body_1.llm mode change 100644 => 100755 indra/newview/character/avatar_upper_body_2.llm mode change 100644 => 100755 indra/newview/character/avatar_upper_body_3.llm mode change 100644 => 100755 indra/newview/character/avatar_upper_body_4.llm mode change 100644 => 100755 indra/newview/character/blush_alpha.tga mode change 100644 => 100755 indra/newview/character/body_skingrain.tga mode change 100644 => 100755 indra/newview/character/bodyfreckles_alpha.tga mode change 100644 => 100755 indra/newview/character/bump_face_wrinkles.tga mode change 100644 => 100755 indra/newview/character/bump_head_base.tga mode change 100644 => 100755 indra/newview/character/bump_lowerbody_base.tga mode change 100644 => 100755 indra/newview/character/bump_pants_wrinkles.tga mode change 100644 => 100755 indra/newview/character/bump_shirt_wrinkles.tga mode change 100644 => 100755 indra/newview/character/bump_upperbody_base.tga mode change 100644 => 100755 indra/newview/character/checkerboard.tga mode change 100644 => 100755 indra/newview/character/eyebrows_alpha.tga mode change 100644 => 100755 indra/newview/character/eyeliner_alpha.tga mode change 100644 => 100755 indra/newview/character/eyeshadow_inner_alpha.tga mode change 100644 => 100755 indra/newview/character/eyeshadow_outer_alpha.tga mode change 100644 => 100755 indra/newview/character/eyewhite.tga mode change 100644 => 100755 indra/newview/character/facehair_chincurtains_alpha.tga mode change 100644 => 100755 indra/newview/character/facehair_moustache_alpha.tga mode change 100644 => 100755 indra/newview/character/facehair_sideburns_alpha.tga mode change 100644 => 100755 indra/newview/character/facehair_soulpatch_alpha.tga mode change 100644 => 100755 indra/newview/character/freckles_alpha.tga mode change 100644 => 100755 indra/newview/character/genepool.xml mode change 100644 => 100755 indra/newview/character/glove_length_alpha.tga mode change 100644 => 100755 indra/newview/character/gloves_fingers_alpha.tga mode change 100644 => 100755 indra/newview/character/head_alpha.tga mode change 100644 => 100755 indra/newview/character/head_color.tga mode change 100644 => 100755 indra/newview/character/head_hair.tga mode change 100644 => 100755 indra/newview/character/head_highlights_alpha.tga mode change 100644 => 100755 indra/newview/character/head_shading_alpha.tga mode change 100644 => 100755 indra/newview/character/head_skingrain.tga mode change 100644 => 100755 indra/newview/character/jacket_length_lower_alpha.tga mode change 100644 => 100755 indra/newview/character/jacket_length_upper_alpha.tga mode change 100644 => 100755 indra/newview/character/jacket_open_lower_alpha.tga mode change 100644 => 100755 indra/newview/character/jacket_open_upper_alpha.tga mode change 100644 => 100755 indra/newview/character/lipgloss_alpha.tga mode change 100644 => 100755 indra/newview/character/lips_mask.tga mode change 100644 => 100755 indra/newview/character/lipstick_alpha.tga mode change 100644 => 100755 indra/newview/character/lowerbody_color.tga mode change 100644 => 100755 indra/newview/character/lowerbody_highlights_alpha.tga mode change 100644 => 100755 indra/newview/character/lowerbody_shading_alpha.tga mode change 100644 => 100755 indra/newview/character/nailpolish_alpha.tga mode change 100644 => 100755 indra/newview/character/pants_length_alpha.tga mode change 100644 => 100755 indra/newview/character/pants_waist_alpha.tga mode change 100644 => 100755 indra/newview/character/rosyface_alpha.tga mode change 100644 => 100755 indra/newview/character/rouge_alpha.tga mode change 100644 => 100755 indra/newview/character/shirt_bottom_alpha.tga mode change 100644 => 100755 indra/newview/character/shirt_collar_alpha.tga mode change 100644 => 100755 indra/newview/character/shirt_collar_back_alpha.tga mode change 100644 => 100755 indra/newview/character/shirt_sleeve_alpha.tga mode change 100644 => 100755 indra/newview/character/shoe_height_alpha.tga mode change 100644 => 100755 indra/newview/character/skirt_length_alpha.tga mode change 100644 => 100755 indra/newview/character/skirt_slit_back_alpha.tga mode change 100644 => 100755 indra/newview/character/skirt_slit_front_alpha.tga mode change 100644 => 100755 indra/newview/character/skirt_slit_left_alpha.tga mode change 100644 => 100755 indra/newview/character/skirt_slit_right_alpha.tga mode change 100644 => 100755 indra/newview/character/underpants_trial_female.tga mode change 100644 => 100755 indra/newview/character/underpants_trial_male.tga mode change 100644 => 100755 indra/newview/character/undershirt_trial_female.tga mode change 100644 => 100755 indra/newview/character/upperbody_color.tga mode change 100644 => 100755 indra/newview/character/upperbody_highlights_alpha.tga mode change 100644 => 100755 indra/newview/character/upperbody_shading_alpha.tga mode change 100644 => 100755 indra/newview/character/upperbodyfreckles_alpha.tga mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_ARROW.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_ARROWDRAG.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_ARROWLOCKED.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_GRABLOCKED.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_NO.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_NOLOCKED.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_SIZENESW.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_SIZENS.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_SIZENWSE.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_SIZEWE.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLCAMERA.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLCREATE.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLFOCUS.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLGRAB.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLLAND.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLMEDIAOPEN.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLPAN.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLPAUSE.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLPICKOBJECT3.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLPLAY.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLROTATE.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLSCALE.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLTRANSLATE.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_TOOLZOOMIN.tif mode change 100644 => 100755 indra/newview/cursors_mac/UI_CURSOR_WORKING.tif mode change 100644 => 100755 indra/newview/da.lproj/language.txt mode change 100644 => 100755 indra/newview/es.lproj/language.txt mode change 100644 => 100755 indra/newview/featuretable.txt mode change 100644 => 100755 indra/newview/featuretable_linux.txt mode change 100644 => 100755 indra/newview/featuretable_mac.txt mode change 100644 => 100755 indra/newview/featuretable_solaris.txt mode change 100644 => 100755 indra/newview/fmod_hidden_symbols.exp mode change 100644 => 100755 indra/newview/fmodwrapper.cpp mode change 100644 => 100755 indra/newview/fonts/DejaVu-license.txt mode change 100644 => 100755 indra/newview/fonts/DejaVuSans-Bold.ttf mode change 100644 => 100755 indra/newview/fonts/DejaVuSans-BoldOblique.ttf mode change 100644 => 100755 indra/newview/fonts/DejaVuSans-Oblique.ttf mode change 100644 => 100755 indra/newview/fonts/DejaVuSans.ttf mode change 100644 => 100755 indra/newview/fonts/DejaVuSansMono.ttf mode change 100644 => 100755 indra/newview/fr.lproj/language.txt mode change 100644 => 100755 indra/newview/generate_breakpad_symbols.py mode change 100644 => 100755 indra/newview/gpu_table.txt mode change 100644 => 100755 indra/newview/hu.lproj/language.txt mode change 100644 => 100755 indra/newview/installers/darwin/dmg-cleanup.applescript mode change 100644 => 100755 indra/newview/installers/darwin/firstlook-dmg/Applications-alias.r mode change 100644 => 100755 indra/newview/installers/darwin/firstlook-dmg/_DS_Store mode change 100644 => 100755 indra/newview/installers/darwin/firstlook-dmg/_VolumeIcon.icns mode change 100644 => 100755 indra/newview/installers/darwin/firstlook-dmg/background.jpg mode change 100644 => 100755 indra/newview/installers/darwin/fix_application_icon_position.sh mode change 100644 => 100755 indra/newview/installers/darwin/publicnightly-dmg/Applications-alias.r mode change 100644 => 100755 indra/newview/installers/darwin/publicnightly-dmg/_DS_Store mode change 100644 => 100755 indra/newview/installers/darwin/publicnightly-dmg/_VolumeIcon.icns mode change 100644 => 100755 indra/newview/installers/darwin/publicnightly-dmg/background.jpg mode change 100644 => 100755 indra/newview/installers/darwin/release-dmg/Applications-alias.r mode change 100644 => 100755 indra/newview/installers/darwin/release-dmg/_DS_Store mode change 100644 => 100755 indra/newview/installers/darwin/release-dmg/_VolumeIcon.icns mode change 100644 => 100755 indra/newview/installers/darwin/release-dmg/background.jpg mode change 100644 => 100755 indra/newview/installers/darwin/releasecandidate-dmg/Applications-alias.r mode change 100644 => 100755 indra/newview/installers/darwin/releasecandidate-dmg/_DS_Store mode change 100644 => 100755 indra/newview/installers/darwin/releasecandidate-dmg/_VolumeIcon.icns mode change 100644 => 100755 indra/newview/installers/darwin/releasecandidate-dmg/background.jpg mode change 100644 => 100755 indra/newview/installers/windows/FILES_ARE_UNICODE_UTF-16LE.txt mode change 100644 => 100755 indra/newview/installers/windows/install_icon.BMP mode change 100644 => 100755 indra/newview/installers/windows/install_icon.ico mode change 100644 => 100755 indra/newview/installers/windows/installer_template.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_da.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_de.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_en-us.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_es.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_fr.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_it.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_ja.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_ko.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_nl.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_pl.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_pt-br.nsi mode change 100644 => 100755 indra/newview/installers/windows/lang_zh.nsi mode change 100644 => 100755 indra/newview/installers/windows/language_menu.nsi mode change 100644 => 100755 indra/newview/installers/windows/uninstall_icon.BMP mode change 100644 => 100755 indra/newview/installers/windows/uninstall_icon.ico mode change 100644 => 100755 indra/newview/it.lproj/language.txt mode change 100644 => 100755 indra/newview/licenses-linux.txt mode change 100644 => 100755 indra/newview/licenses-mac.txt mode change 100644 => 100755 indra/newview/licenses-solaris.txt mode change 100644 => 100755 indra/newview/licenses-win32.txt mode change 100644 => 100755 indra/newview/linux_tools/client-readme-joystick.txt mode change 100644 => 100755 indra/newview/linux_tools/client-readme-voice.txt mode change 100644 => 100755 indra/newview/linux_tools/client-readme.txt mode change 100644 => 100755 indra/newview/llagent.cpp mode change 100644 => 100755 indra/newview/llagent.h mode change 100644 => 100755 indra/newview/llagentaccess.cpp mode change 100644 => 100755 indra/newview/llagentaccess.h mode change 100644 => 100755 indra/newview/llagentcamera.cpp mode change 100644 => 100755 indra/newview/llagentcamera.h mode change 100644 => 100755 indra/newview/llagentdata.cpp mode change 100644 => 100755 indra/newview/llagentdata.h mode change 100644 => 100755 indra/newview/llagentlanguage.cpp mode change 100644 => 100755 indra/newview/llagentlanguage.h mode change 100644 => 100755 indra/newview/llagentlistener.cpp mode change 100644 => 100755 indra/newview/llagentlistener.h mode change 100644 => 100755 indra/newview/llagentpicksinfo.cpp mode change 100644 => 100755 indra/newview/llagentpicksinfo.h mode change 100644 => 100755 indra/newview/llagentpilot.cpp mode change 100644 => 100755 indra/newview/llagentpilot.h mode change 100644 => 100755 indra/newview/llagentui.cpp mode change 100644 => 100755 indra/newview/llagentui.h mode change 100644 => 100755 indra/newview/llagentwearables.cpp mode change 100644 => 100755 indra/newview/llagentwearables.h mode change 100644 => 100755 indra/newview/llagentwearablesfetch.cpp mode change 100644 => 100755 indra/newview/llagentwearablesfetch.h mode change 100644 => 100755 indra/newview/llanimstatelabels.cpp mode change 100644 => 100755 indra/newview/llanimstatelabels.h mode change 100644 => 100755 indra/newview/llappearance.h mode change 100644 => 100755 indra/newview/llappearancemgr.cpp mode change 100644 => 100755 indra/newview/llappearancemgr.h mode change 100644 => 100755 indra/newview/llappviewer.cpp mode change 100644 => 100755 indra/newview/llappviewer.h mode change 100644 => 100755 indra/newview/llappviewerlinux.cpp mode change 100644 => 100755 indra/newview/llappviewerlinux.h mode change 100644 => 100755 indra/newview/llappviewerlinux_api.h mode change 100644 => 100755 indra/newview/llappviewerlinux_api.xml mode change 100644 => 100755 indra/newview/llappviewerlinux_api_dbus.cpp mode change 100644 => 100755 indra/newview/llappviewerlinux_api_dbus.h mode change 100644 => 100755 indra/newview/llappviewerlinux_api_dbus_syms_raw.inc mode change 100644 => 100755 indra/newview/llappviewerlistener.cpp mode change 100644 => 100755 indra/newview/llappviewerlistener.h mode change 100644 => 100755 indra/newview/llappviewermacosx.cpp mode change 100644 => 100755 indra/newview/llappviewermacosx.h mode change 100644 => 100755 indra/newview/llappviewerwin32.cpp mode change 100644 => 100755 indra/newview/llappviewerwin32.h mode change 100644 => 100755 indra/newview/llassetuploadqueue.cpp mode change 100644 => 100755 indra/newview/llassetuploadqueue.h mode change 100644 => 100755 indra/newview/llassetuploadresponders.cpp mode change 100644 => 100755 indra/newview/llassetuploadresponders.h mode change 100644 => 100755 indra/newview/llaudiosourcevo.cpp mode change 100644 => 100755 indra/newview/llaudiosourcevo.h mode change 100644 => 100755 indra/newview/llavataractions.cpp mode change 100644 => 100755 indra/newview/llavataractions.h mode change 100644 => 100755 indra/newview/llavatariconctrl.cpp mode change 100644 => 100755 indra/newview/llavatariconctrl.h mode change 100644 => 100755 indra/newview/llavatarlist.cpp mode change 100644 => 100755 indra/newview/llavatarlist.h mode change 100644 => 100755 indra/newview/llavatarlistitem.cpp mode change 100644 => 100755 indra/newview/llavatarlistitem.h mode change 100644 => 100755 indra/newview/llavatarpropertiesprocessor.cpp mode change 100644 => 100755 indra/newview/llavatarpropertiesprocessor.h mode change 100644 => 100755 indra/newview/llbottomtray.cpp mode change 100644 => 100755 indra/newview/llbottomtray.h mode change 100644 => 100755 indra/newview/llbox.cpp mode change 100644 => 100755 indra/newview/llbox.h mode change 100644 => 100755 indra/newview/llbreadcrumbview.cpp mode change 100644 => 100755 indra/newview/llbreadcrumbview.h mode change 100644 => 100755 indra/newview/llbuycurrencyhtml.cpp mode change 100644 => 100755 indra/newview/llbuycurrencyhtml.h mode change 100644 => 100755 indra/newview/llcallbacklist.cpp mode change 100644 => 100755 indra/newview/llcallbacklist.h mode change 100644 => 100755 indra/newview/llcallfloater.cpp mode change 100644 => 100755 indra/newview/llcallfloater.h mode change 100644 => 100755 indra/newview/llcallingcard.cpp mode change 100644 => 100755 indra/newview/llcallingcard.h mode change 100644 => 100755 indra/newview/llcapabilitylistener.cpp mode change 100644 => 100755 indra/newview/llcapabilitylistener.h mode change 100644 => 100755 indra/newview/llcapabilityprovider.h mode change 100644 => 100755 indra/newview/llcaphttpsender.cpp mode change 100644 => 100755 indra/newview/llcaphttpsender.h mode change 100644 => 100755 indra/newview/llchannelmanager.cpp mode change 100644 => 100755 indra/newview/llchannelmanager.h mode change 100644 => 100755 indra/newview/llchatbar.cpp mode change 100644 => 100755 indra/newview/llchatbar.h mode change 100644 => 100755 indra/newview/llchathistory.cpp mode change 100644 => 100755 indra/newview/llchathistory.h mode change 100644 => 100755 indra/newview/llchatitemscontainerctrl.cpp mode change 100644 => 100755 indra/newview/llchatitemscontainerctrl.h mode change 100644 => 100755 indra/newview/llchatmsgbox.cpp mode change 100644 => 100755 indra/newview/llchatmsgbox.h mode change 100644 => 100755 indra/newview/llchiclet.cpp mode change 100644 => 100755 indra/newview/llchiclet.h mode change 100644 => 100755 indra/newview/llclassifiedinfo.cpp mode change 100644 => 100755 indra/newview/llclassifiedinfo.h mode change 100644 => 100755 indra/newview/llclassifiedstatsresponder.cpp mode change 100644 => 100755 indra/newview/llclassifiedstatsresponder.h mode change 100644 => 100755 indra/newview/llcloud.cpp mode change 100644 => 100755 indra/newview/llcloud.h mode change 100644 => 100755 indra/newview/llcofwearables.cpp mode change 100644 => 100755 indra/newview/llcofwearables.h mode change 100644 => 100755 indra/newview/llcolorswatch.cpp mode change 100644 => 100755 indra/newview/llcolorswatch.h mode change 100644 => 100755 indra/newview/llcommanddispatcherlistener.cpp mode change 100644 => 100755 indra/newview/llcommanddispatcherlistener.h mode change 100644 => 100755 indra/newview/llcommandhandler.cpp mode change 100644 => 100755 indra/newview/llcommandhandler.h mode change 100644 => 100755 indra/newview/llcommandlineparser.cpp mode change 100644 => 100755 indra/newview/llcommandlineparser.h mode change 100644 => 100755 indra/newview/llcompilequeue.cpp mode change 100644 => 100755 indra/newview/llcompilequeue.h mode change 100644 => 100755 indra/newview/llconfirmationmanager.cpp mode change 100644 => 100755 indra/newview/llconfirmationmanager.h mode change 100644 => 100755 indra/newview/llcurrencyuimanager.cpp mode change 100644 => 100755 indra/newview/llcurrencyuimanager.h mode change 100644 => 100755 indra/newview/llcylinder.cpp mode change 100644 => 100755 indra/newview/llcylinder.h mode change 100644 => 100755 indra/newview/lldateutil.cpp mode change 100644 => 100755 indra/newview/lldateutil.h mode change 100644 => 100755 indra/newview/lldebugmessagebox.cpp mode change 100644 => 100755 indra/newview/lldebugmessagebox.h mode change 100644 => 100755 indra/newview/lldebugview.cpp mode change 100644 => 100755 indra/newview/lldebugview.h mode change 100644 => 100755 indra/newview/lldelayedgestureerror.cpp mode change 100644 => 100755 indra/newview/lldelayedgestureerror.h mode change 100644 => 100755 indra/newview/lldirpicker.cpp mode change 100644 => 100755 indra/newview/lldirpicker.h mode change 100644 => 100755 indra/newview/lldndbutton.cpp mode change 100644 => 100755 indra/newview/lldndbutton.h mode change 100644 => 100755 indra/newview/lldrawable.cpp mode change 100644 => 100755 indra/newview/lldrawable.h mode change 100644 => 100755 indra/newview/lldrawpool.cpp mode change 100644 => 100755 indra/newview/lldrawpool.h mode change 100644 => 100755 indra/newview/lldrawpoolalpha.cpp mode change 100644 => 100755 indra/newview/lldrawpoolalpha.h mode change 100644 => 100755 indra/newview/lldrawpoolavatar.cpp mode change 100644 => 100755 indra/newview/lldrawpoolavatar.h mode change 100644 => 100755 indra/newview/lldrawpoolbump.cpp mode change 100644 => 100755 indra/newview/lldrawpoolbump.h mode change 100644 => 100755 indra/newview/lldrawpoolclouds.cpp mode change 100644 => 100755 indra/newview/lldrawpoolclouds.h mode change 100644 => 100755 indra/newview/lldrawpoolground.cpp mode change 100644 => 100755 indra/newview/lldrawpoolground.h mode change 100644 => 100755 indra/newview/lldrawpoolsimple.cpp mode change 100644 => 100755 indra/newview/lldrawpoolsimple.h mode change 100644 => 100755 indra/newview/lldrawpoolsky.cpp mode change 100644 => 100755 indra/newview/lldrawpoolsky.h mode change 100644 => 100755 indra/newview/lldrawpoolterrain.cpp mode change 100644 => 100755 indra/newview/lldrawpoolterrain.h mode change 100644 => 100755 indra/newview/lldrawpooltree.cpp mode change 100644 => 100755 indra/newview/lldrawpooltree.h mode change 100644 => 100755 indra/newview/lldrawpoolwater.cpp mode change 100644 => 100755 indra/newview/lldrawpoolwater.h mode change 100644 => 100755 indra/newview/lldrawpoolwlsky.cpp mode change 100644 => 100755 indra/newview/lldrawpoolwlsky.h mode change 100644 => 100755 indra/newview/lldriverparam.cpp mode change 100644 => 100755 indra/newview/lldriverparam.h mode change 100644 => 100755 indra/newview/lldynamictexture.cpp mode change 100644 => 100755 indra/newview/lldynamictexture.h mode change 100644 => 100755 indra/newview/llemote.cpp mode change 100644 => 100755 indra/newview/llemote.h mode change 100644 => 100755 indra/newview/lleventinfo.cpp mode change 100644 => 100755 indra/newview/lleventinfo.h mode change 100644 => 100755 indra/newview/lleventnotifier.cpp mode change 100644 => 100755 indra/newview/lleventnotifier.h mode change 100644 => 100755 indra/newview/lleventpoll.cpp mode change 100644 => 100755 indra/newview/lleventpoll.h mode change 100644 => 100755 indra/newview/llexpandabletextbox.cpp mode change 100644 => 100755 indra/newview/llexpandabletextbox.h mode change 100644 => 100755 indra/newview/llface.cpp mode change 100644 => 100755 indra/newview/llface.h mode change 100644 => 100755 indra/newview/llface.inl mode change 100644 => 100755 indra/newview/llfasttimerview.cpp mode change 100644 => 100755 indra/newview/llfasttimerview.h mode change 100644 => 100755 indra/newview/llfavoritesbar.cpp mode change 100644 => 100755 indra/newview/llfavoritesbar.h mode change 100644 => 100755 indra/newview/llfeaturemanager.cpp mode change 100644 => 100755 indra/newview/llfeaturemanager.h mode change 100644 => 100755 indra/newview/llfilepicker.cpp mode change 100644 => 100755 indra/newview/llfilepicker.h mode change 100644 => 100755 indra/newview/llfilteredwearablelist.cpp mode change 100644 => 100755 indra/newview/llfilteredwearablelist.h mode change 100644 => 100755 indra/newview/llfirstuse.cpp mode change 100644 => 100755 indra/newview/llfirstuse.h mode change 100644 => 100755 indra/newview/llflexibleobject.cpp mode change 100644 => 100755 indra/newview/llflexibleobject.h mode change 100644 => 100755 indra/newview/llfloaterabout.cpp mode change 100644 => 100755 indra/newview/llfloaterabout.h mode change 100644 => 100755 indra/newview/llfloateranimpreview.cpp mode change 100644 => 100755 indra/newview/llfloateranimpreview.h mode change 100644 => 100755 indra/newview/llfloaterauction.cpp mode change 100644 => 100755 indra/newview/llfloaterauction.h mode change 100644 => 100755 indra/newview/llfloateravatarpicker.cpp mode change 100644 => 100755 indra/newview/llfloateravatarpicker.h mode change 100644 => 100755 indra/newview/llfloateravatartextures.cpp mode change 100644 => 100755 indra/newview/llfloateravatartextures.h mode change 100644 => 100755 indra/newview/llfloaterbeacons.cpp mode change 100644 => 100755 indra/newview/llfloaterbeacons.h mode change 100644 => 100755 indra/newview/llfloaterbuildoptions.cpp mode change 100644 => 100755 indra/newview/llfloaterbuildoptions.h mode change 100644 => 100755 indra/newview/llfloaterbulkpermission.cpp mode change 100644 => 100755 indra/newview/llfloaterbulkpermission.h mode change 100644 => 100755 indra/newview/llfloaterbump.cpp mode change 100644 => 100755 indra/newview/llfloaterbump.h mode change 100644 => 100755 indra/newview/llfloaterbuy.cpp mode change 100644 => 100755 indra/newview/llfloaterbuy.h mode change 100644 => 100755 indra/newview/llfloaterbuycontents.cpp mode change 100644 => 100755 indra/newview/llfloaterbuycontents.h mode change 100644 => 100755 indra/newview/llfloaterbuycurrency.cpp mode change 100644 => 100755 indra/newview/llfloaterbuycurrency.h mode change 100644 => 100755 indra/newview/llfloaterbuycurrencyhtml.cpp mode change 100644 => 100755 indra/newview/llfloaterbuycurrencyhtml.h mode change 100644 => 100755 indra/newview/llfloaterbuyland.cpp mode change 100644 => 100755 indra/newview/llfloaterbuyland.h mode change 100644 => 100755 indra/newview/llfloatercamera.cpp mode change 100644 => 100755 indra/newview/llfloatercamera.h mode change 100644 => 100755 indra/newview/llfloaterchat.cpp mode change 100644 => 100755 indra/newview/llfloaterchat.h mode change 100644 => 100755 indra/newview/llfloaterchatterbox.cpp mode change 100644 => 100755 indra/newview/llfloaterchatterbox.h mode change 100644 => 100755 indra/newview/llfloatercolorpicker.cpp mode change 100644 => 100755 indra/newview/llfloatercolorpicker.h mode change 100644 => 100755 indra/newview/llfloaterdaycycle.cpp mode change 100644 => 100755 indra/newview/llfloaterdaycycle.h mode change 100644 => 100755 indra/newview/llfloaterenvsettings.cpp mode change 100644 => 100755 indra/newview/llfloaterenvsettings.h mode change 100644 => 100755 indra/newview/llfloaterevent.cpp mode change 100644 => 100755 indra/newview/llfloaterevent.h mode change 100644 => 100755 indra/newview/llfloaterfonttest.cpp mode change 100644 => 100755 indra/newview/llfloaterfonttest.h mode change 100644 => 100755 indra/newview/llfloaterfriends.cpp mode change 100644 => 100755 indra/newview/llfloaterfriends.h mode change 100644 => 100755 indra/newview/llfloatergesture.cpp mode change 100644 => 100755 indra/newview/llfloatergesture.h mode change 100644 => 100755 indra/newview/llfloatergodtools.cpp mode change 100644 => 100755 indra/newview/llfloatergodtools.h mode change 100644 => 100755 indra/newview/llfloatergroupinvite.cpp mode change 100644 => 100755 indra/newview/llfloatergroupinvite.h mode change 100644 => 100755 indra/newview/llfloatergroups.cpp mode change 100644 => 100755 indra/newview/llfloatergroups.h mode change 100644 => 100755 indra/newview/llfloaterhandler.cpp mode change 100644 => 100755 indra/newview/llfloaterhandler.h mode change 100644 => 100755 indra/newview/llfloaterhardwaresettings.cpp mode change 100644 => 100755 indra/newview/llfloaterhardwaresettings.h mode change 100644 => 100755 indra/newview/llfloaterhelpbrowser.cpp mode change 100644 => 100755 indra/newview/llfloaterhelpbrowser.h mode change 100644 => 100755 indra/newview/llfloaterhud.cpp mode change 100644 => 100755 indra/newview/llfloaterhud.h mode change 100644 => 100755 indra/newview/llfloaterimagepreview.cpp mode change 100644 => 100755 indra/newview/llfloaterimagepreview.h mode change 100644 => 100755 indra/newview/llfloaterimportcollada.cpp mode change 100644 => 100755 indra/newview/llfloaterimportcollada.h mode change 100644 => 100755 indra/newview/llfloaterinspect.cpp mode change 100644 => 100755 indra/newview/llfloaterinspect.h mode change 100644 => 100755 indra/newview/llfloaterinventory.cpp mode change 100644 => 100755 indra/newview/llfloaterinventory.h mode change 100644 => 100755 indra/newview/llfloaterjoystick.cpp mode change 100644 => 100755 indra/newview/llfloaterjoystick.h mode change 100644 => 100755 indra/newview/llfloaterlagmeter.cpp mode change 100644 => 100755 indra/newview/llfloaterlagmeter.h mode change 100644 => 100755 indra/newview/llfloaterland.cpp mode change 100644 => 100755 indra/newview/llfloaterland.h mode change 100644 => 100755 indra/newview/llfloaterlandholdings.cpp mode change 100644 => 100755 indra/newview/llfloaterlandholdings.h mode change 100644 => 100755 indra/newview/llfloatermap.cpp mode change 100644 => 100755 indra/newview/llfloatermap.h mode change 100644 => 100755 indra/newview/llfloatermediabrowser.cpp mode change 100644 => 100755 indra/newview/llfloatermediabrowser.h mode change 100644 => 100755 indra/newview/llfloatermediasettings.cpp mode change 100644 => 100755 indra/newview/llfloatermediasettings.h mode change 100644 => 100755 indra/newview/llfloatermemleak.cpp mode change 100644 => 100755 indra/newview/llfloatermemleak.h mode change 100644 => 100755 indra/newview/llfloatermodelpreview.cpp mode change 100644 => 100755 indra/newview/llfloatermodelpreview.h mode change 100644 => 100755 indra/newview/llfloaternamedesc.cpp mode change 100644 => 100755 indra/newview/llfloaternamedesc.h mode change 100644 => 100755 indra/newview/llfloaternotificationsconsole.cpp mode change 100644 => 100755 indra/newview/llfloaternotificationsconsole.h mode change 100644 => 100755 indra/newview/llfloateropenobject.cpp mode change 100644 => 100755 indra/newview/llfloateropenobject.h mode change 100644 => 100755 indra/newview/llfloaterpay.cpp mode change 100644 => 100755 indra/newview/llfloaterpay.h mode change 100644 => 100755 indra/newview/llfloaterperms.cpp mode change 100644 => 100755 indra/newview/llfloaterperms.h mode change 100644 => 100755 indra/newview/llfloaterpostcard.cpp mode change 100644 => 100755 indra/newview/llfloaterpostcard.h mode change 100644 => 100755 indra/newview/llfloaterpostprocess.cpp mode change 100644 => 100755 indra/newview/llfloaterpostprocess.h mode change 100644 => 100755 indra/newview/llfloaterpreference.cpp mode change 100644 => 100755 indra/newview/llfloaterpreference.h mode change 100644 => 100755 indra/newview/llfloaterproperties.cpp mode change 100644 => 100755 indra/newview/llfloaterproperties.h mode change 100644 => 100755 indra/newview/llfloaterregioninfo.cpp mode change 100644 => 100755 indra/newview/llfloaterregioninfo.h mode change 100644 => 100755 indra/newview/llfloaterreporter.cpp mode change 100644 => 100755 indra/newview/llfloaterreporter.h mode change 100644 => 100755 indra/newview/llfloaterscriptdebug.cpp mode change 100644 => 100755 indra/newview/llfloaterscriptdebug.h mode change 100644 => 100755 indra/newview/llfloaterscriptlimits.cpp mode change 100644 => 100755 indra/newview/llfloaterscriptlimits.h mode change 100644 => 100755 indra/newview/llfloatersearch.cpp mode change 100644 => 100755 indra/newview/llfloatersearch.h mode change 100644 => 100755 indra/newview/llfloatersellland.cpp mode change 100644 => 100755 indra/newview/llfloatersellland.h mode change 100644 => 100755 indra/newview/llfloatersettingsdebug.cpp mode change 100644 => 100755 indra/newview/llfloatersettingsdebug.h mode change 100644 => 100755 indra/newview/llfloatersnapshot.cpp mode change 100644 => 100755 indra/newview/llfloatersnapshot.h mode change 100644 => 100755 indra/newview/llfloatertelehub.cpp mode change 100644 => 100755 indra/newview/llfloatertelehub.h mode change 100644 => 100755 indra/newview/llfloatertestinspectors.cpp mode change 100644 => 100755 indra/newview/llfloatertestinspectors.h mode change 100644 => 100755 indra/newview/llfloatertestlistview.cpp mode change 100644 => 100755 indra/newview/llfloatertestlistview.h mode change 100644 => 100755 indra/newview/llfloatertools.cpp mode change 100644 => 100755 indra/newview/llfloatertools.h mode change 100644 => 100755 indra/newview/llfloatertopobjects.cpp mode change 100644 => 100755 indra/newview/llfloatertopobjects.h mode change 100644 => 100755 indra/newview/llfloatertos.cpp mode change 100644 => 100755 indra/newview/llfloatertos.h mode change 100644 => 100755 indra/newview/llfloateruipreview.cpp mode change 100644 => 100755 indra/newview/llfloateruipreview.h mode change 100644 => 100755 indra/newview/llfloaterurlentry.cpp mode change 100644 => 100755 indra/newview/llfloaterurlentry.h mode change 100644 => 100755 indra/newview/llfloatervoicedevicesettings.cpp mode change 100644 => 100755 indra/newview/llfloatervoicedevicesettings.h mode change 100644 => 100755 indra/newview/llfloatervoiceeffect.cpp mode change 100644 => 100755 indra/newview/llfloatervoiceeffect.h mode change 100644 => 100755 indra/newview/llfloaterwater.cpp mode change 100644 => 100755 indra/newview/llfloaterwater.h mode change 100644 => 100755 indra/newview/llfloaterwhitelistentry.cpp mode change 100644 => 100755 indra/newview/llfloaterwhitelistentry.h mode change 100644 => 100755 indra/newview/llfloaterwindlight.cpp mode change 100644 => 100755 indra/newview/llfloaterwindlight.h mode change 100644 => 100755 indra/newview/llfloaterwindowsize.cpp mode change 100644 => 100755 indra/newview/llfloaterwindowsize.h mode change 100644 => 100755 indra/newview/llfloaterworldmap.cpp mode change 100644 => 100755 indra/newview/llfloaterworldmap.h mode change 100644 => 100755 indra/newview/llfolderview.cpp mode change 100644 => 100755 indra/newview/llfolderview.h mode change 100644 => 100755 indra/newview/llfoldervieweventlistener.h mode change 100644 => 100755 indra/newview/llfolderviewitem.cpp mode change 100644 => 100755 indra/newview/llfolderviewitem.h mode change 100644 => 100755 indra/newview/llfollowcam.cpp mode change 100644 => 100755 indra/newview/llfollowcam.h mode change 100644 => 100755 indra/newview/llfriendcard.cpp mode change 100644 => 100755 indra/newview/llfriendcard.h mode change 100644 => 100755 indra/newview/llgesturemgr.cpp mode change 100644 => 100755 indra/newview/llgesturemgr.h mode change 100644 => 100755 indra/newview/llgiveinventory.cpp mode change 100644 => 100755 indra/newview/llgiveinventory.h mode change 100644 => 100755 indra/newview/llglsandbox.cpp mode change 100644 => 100755 indra/newview/llgroupactions.cpp mode change 100644 => 100755 indra/newview/llgroupactions.h mode change 100644 => 100755 indra/newview/llgroupiconctrl.cpp mode change 100644 => 100755 indra/newview/llgroupiconctrl.h mode change 100644 => 100755 indra/newview/llgrouplist.cpp mode change 100644 => 100755 indra/newview/llgrouplist.h mode change 100644 => 100755 indra/newview/llgroupmgr.cpp mode change 100644 => 100755 indra/newview/llgroupmgr.h mode change 100644 => 100755 indra/newview/llhomelocationresponder.cpp mode change 100644 => 100755 indra/newview/llhomelocationresponder.h mode change 100644 => 100755 indra/newview/llhudeffect.cpp mode change 100644 => 100755 indra/newview/llhudeffect.h mode change 100644 => 100755 indra/newview/llhudeffectbeam.cpp mode change 100644 => 100755 indra/newview/llhudeffectbeam.h mode change 100644 => 100755 indra/newview/llhudeffectlookat.cpp mode change 100644 => 100755 indra/newview/llhudeffectlookat.h mode change 100644 => 100755 indra/newview/llhudeffectpointat.cpp mode change 100644 => 100755 indra/newview/llhudeffectpointat.h mode change 100644 => 100755 indra/newview/llhudeffecttrail.cpp mode change 100644 => 100755 indra/newview/llhudeffecttrail.h mode change 100644 => 100755 indra/newview/llhudicon.cpp mode change 100644 => 100755 indra/newview/llhudicon.h mode change 100644 => 100755 indra/newview/llhudmanager.cpp mode change 100644 => 100755 indra/newview/llhudmanager.h mode change 100644 => 100755 indra/newview/llhudobject.cpp mode change 100644 => 100755 indra/newview/llhudobject.h mode change 100644 => 100755 indra/newview/llhudrender.cpp mode change 100644 => 100755 indra/newview/llhudrender.h mode change 100644 => 100755 indra/newview/llhudtext.cpp mode change 100644 => 100755 indra/newview/llhudtext.h mode change 100644 => 100755 indra/newview/llhudview.cpp mode change 100644 => 100755 indra/newview/llhudview.h mode change 100644 => 100755 indra/newview/llimfloater.cpp mode change 100644 => 100755 indra/newview/llimfloater.h mode change 100644 => 100755 indra/newview/llimfloatercontainer.cpp mode change 100644 => 100755 indra/newview/llimfloatercontainer.h mode change 100644 => 100755 indra/newview/llimhandler.cpp mode change 100644 => 100755 indra/newview/llimpanel.cpp mode change 100644 => 100755 indra/newview/llimpanel.h mode change 100644 => 100755 indra/newview/llimview.cpp mode change 100644 => 100755 indra/newview/llimview.h mode change 100644 => 100755 indra/newview/llinspect.cpp mode change 100644 => 100755 indra/newview/llinspect.h mode change 100644 => 100755 indra/newview/llinspectavatar.cpp mode change 100644 => 100755 indra/newview/llinspectavatar.h mode change 100644 => 100755 indra/newview/llinspectgroup.cpp mode change 100644 => 100755 indra/newview/llinspectgroup.h mode change 100644 => 100755 indra/newview/llinspectobject.cpp mode change 100644 => 100755 indra/newview/llinspectobject.h mode change 100644 => 100755 indra/newview/llinspectremoteobject.cpp mode change 100644 => 100755 indra/newview/llinspectremoteobject.h mode change 100644 => 100755 indra/newview/llinspecttoast.cpp mode change 100644 => 100755 indra/newview/llinspecttoast.h mode change 100644 => 100755 indra/newview/llinventoryactions.h mode change 100644 => 100755 indra/newview/llinventorybridge.cpp mode change 100644 => 100755 indra/newview/llinventorybridge.h mode change 100644 => 100755 indra/newview/llinventoryclipboard.cpp mode change 100644 => 100755 indra/newview/llinventoryclipboard.h mode change 100644 => 100755 indra/newview/llinventoryfilter.cpp mode change 100644 => 100755 indra/newview/llinventoryfilter.h mode change 100644 => 100755 indra/newview/llinventoryfunctions.cpp mode change 100644 => 100755 indra/newview/llinventoryfunctions.h mode change 100644 => 100755 indra/newview/llinventoryicon.cpp mode change 100644 => 100755 indra/newview/llinventoryicon.h mode change 100644 => 100755 indra/newview/llinventoryitemslist.cpp mode change 100644 => 100755 indra/newview/llinventoryitemslist.h mode change 100644 => 100755 indra/newview/llinventorylistitem.cpp mode change 100644 => 100755 indra/newview/llinventorylistitem.h mode change 100644 => 100755 indra/newview/llinventorymodel.cpp mode change 100644 => 100755 indra/newview/llinventorymodel.h mode change 100644 => 100755 indra/newview/llinventorymodelbackgroundfetch.cpp mode change 100644 => 100755 indra/newview/llinventorymodelbackgroundfetch.h mode change 100644 => 100755 indra/newview/llinventoryobserver.cpp mode change 100644 => 100755 indra/newview/llinventoryobserver.h mode change 100644 => 100755 indra/newview/llinventorypanel.cpp mode change 100644 => 100755 indra/newview/llinventorypanel.h mode change 100644 => 100755 indra/newview/lljoystickbutton.cpp mode change 100644 => 100755 indra/newview/lljoystickbutton.h mode change 100644 => 100755 indra/newview/lllandmarkactions.cpp mode change 100644 => 100755 indra/newview/lllandmarkactions.h mode change 100644 => 100755 indra/newview/lllandmarklist.cpp mode change 100644 => 100755 indra/newview/lllandmarklist.h mode change 100644 => 100755 indra/newview/lllightconstants.h mode change 100644 => 100755 indra/newview/lllistbrowser.cpp mode change 100644 => 100755 indra/newview/lllistbrowser.h mode change 100644 => 100755 indra/newview/lllistcontextmenu.cpp mode change 100644 => 100755 indra/newview/lllistcontextmenu.h mode change 100644 => 100755 indra/newview/lllistview.cpp mode change 100644 => 100755 indra/newview/lllistview.h mode change 100644 => 100755 indra/newview/lllocaltextureobject.cpp mode change 100644 => 100755 indra/newview/lllocaltextureobject.h mode change 100644 => 100755 indra/newview/lllocationhistory.cpp mode change 100644 => 100755 indra/newview/lllocationhistory.h mode change 100644 => 100755 indra/newview/lllocationinputctrl.cpp mode change 100644 => 100755 indra/newview/lllocationinputctrl.h mode change 100644 => 100755 indra/newview/lllogchat.cpp mode change 100644 => 100755 indra/newview/lllogchat.h mode change 100644 => 100755 indra/newview/llloginhandler.cpp mode change 100644 => 100755 indra/newview/llloginhandler.h mode change 100644 => 100755 indra/newview/lllogininstance.cpp mode change 100644 => 100755 indra/newview/lllogininstance.h mode change 100644 => 100755 indra/newview/lllookshistorypanel.h mode change 100644 => 100755 indra/newview/llmachineid.cpp mode change 100644 => 100755 indra/newview/llmachineid.h mode change 100644 => 100755 indra/newview/llmanip.cpp mode change 100644 => 100755 indra/newview/llmanip.h mode change 100644 => 100755 indra/newview/llmaniprotate.cpp mode change 100644 => 100755 indra/newview/llmaniprotate.h mode change 100644 => 100755 indra/newview/llmanipscale.cpp mode change 100644 => 100755 indra/newview/llmanipscale.h mode change 100644 => 100755 indra/newview/llmaniptranslate.cpp mode change 100644 => 100755 indra/newview/llmaniptranslate.h mode change 100644 => 100755 indra/newview/llmediactrl.cpp mode change 100644 => 100755 indra/newview/llmediactrl.h mode change 100644 => 100755 indra/newview/llmediadataclient.cpp mode change 100644 => 100755 indra/newview/llmediadataclient.h mode change 100644 => 100755 indra/newview/llmemoryview.cpp mode change 100644 => 100755 indra/newview/llmemoryview.h mode change 100644 => 100755 indra/newview/llmenucommands.cpp mode change 100644 => 100755 indra/newview/llmenucommands.h mode change 100644 => 100755 indra/newview/llmeshreduction.cpp mode change 100644 => 100755 indra/newview/llmeshreduction.h mode change 100644 => 100755 indra/newview/llmeshrepository.cpp mode change 100644 => 100755 indra/newview/llmeshrepository.h mode change 100644 => 100755 indra/newview/llmetricperformancetester.cpp mode change 100644 => 100755 indra/newview/llmetricperformancetester.h mode change 100644 => 100755 indra/newview/llmimetypes.cpp mode change 100644 => 100755 indra/newview/llmimetypes.h mode change 100644 => 100755 indra/newview/llmorphview.cpp mode change 100644 => 100755 indra/newview/llmorphview.h mode change 100644 => 100755 indra/newview/llmoveview.cpp mode change 100644 => 100755 indra/newview/llmoveview.h mode change 100644 => 100755 indra/newview/llmutelist.cpp mode change 100644 => 100755 indra/newview/llmutelist.h mode change 100644 => 100755 indra/newview/llnamebox.cpp mode change 100644 => 100755 indra/newview/llnamebox.h mode change 100644 => 100755 indra/newview/llnameeditor.cpp mode change 100644 => 100755 indra/newview/llnameeditor.h mode change 100644 => 100755 indra/newview/llnamelistctrl.cpp mode change 100644 => 100755 indra/newview/llnamelistctrl.h mode change 100644 => 100755 indra/newview/llnavigationbar.cpp mode change 100644 => 100755 indra/newview/llnavigationbar.h mode change 100644 => 100755 indra/newview/llnearbychat.cpp mode change 100644 => 100755 indra/newview/llnearbychat.h mode change 100644 => 100755 indra/newview/llnearbychatbar.cpp mode change 100644 => 100755 indra/newview/llnearbychatbar.h mode change 100644 => 100755 indra/newview/llnearbychathandler.cpp mode change 100644 => 100755 indra/newview/llnearbychathandler.h mode change 100644 => 100755 indra/newview/llnetmap.cpp mode change 100644 => 100755 indra/newview/llnetmap.h mode change 100644 => 100755 indra/newview/llnotificationalerthandler.cpp mode change 100644 => 100755 indra/newview/llnotificationgrouphandler.cpp mode change 100644 => 100755 indra/newview/llnotificationhandler.h mode change 100644 => 100755 indra/newview/llnotificationhandlerutil.cpp mode change 100644 => 100755 indra/newview/llnotificationmanager.cpp mode change 100644 => 100755 indra/newview/llnotificationmanager.h mode change 100644 => 100755 indra/newview/llnotificationofferhandler.cpp mode change 100644 => 100755 indra/newview/llnotificationscripthandler.cpp mode change 100644 => 100755 indra/newview/llnotificationstorage.cpp mode change 100644 => 100755 indra/newview/llnotificationstorage.h mode change 100644 => 100755 indra/newview/llnotificationtiphandler.cpp mode change 100644 => 100755 indra/newview/lloutfitobserver.cpp mode change 100644 => 100755 indra/newview/lloutfitobserver.h mode change 100644 => 100755 indra/newview/lloutfitslist.cpp mode change 100644 => 100755 indra/newview/lloutfitslist.h mode change 100644 => 100755 indra/newview/lloutputmonitorctrl.cpp mode change 100644 => 100755 indra/newview/lloutputmonitorctrl.h mode change 100644 => 100755 indra/newview/lloverlaybar.cpp mode change 100644 => 100755 indra/newview/lloverlaybar.h mode change 100644 => 100755 indra/newview/llpanelappearancetab.h mode change 100644 => 100755 indra/newview/llpanelavatar.cpp mode change 100644 => 100755 indra/newview/llpanelavatar.h mode change 100644 => 100755 indra/newview/llpanelavatartag.cpp mode change 100644 => 100755 indra/newview/llpanelavatartag.h mode change 100644 => 100755 indra/newview/llpanelblockedlist.cpp mode change 100644 => 100755 indra/newview/llpanelblockedlist.h mode change 100644 => 100755 indra/newview/llpanelclassified.cpp mode change 100644 => 100755 indra/newview/llpanelclassified.h mode change 100644 => 100755 indra/newview/llpanelcontents.cpp mode change 100644 => 100755 indra/newview/llpanelcontents.h mode change 100644 => 100755 indra/newview/llpaneleditwearable.cpp mode change 100644 => 100755 indra/newview/llpaneleditwearable.h mode change 100644 => 100755 indra/newview/llpanelface.cpp mode change 100644 => 100755 indra/newview/llpanelface.h mode change 100644 => 100755 indra/newview/llpanelgenerictip.cpp mode change 100644 => 100755 indra/newview/llpanelgenerictip.h mode change 100644 => 100755 indra/newview/llpanelgroup.cpp mode change 100644 => 100755 indra/newview/llpanelgroup.h mode change 100644 => 100755 indra/newview/llpanelgroupgeneral.cpp mode change 100644 => 100755 indra/newview/llpanelgroupgeneral.h mode change 100644 => 100755 indra/newview/llpanelgroupinvite.cpp mode change 100644 => 100755 indra/newview/llpanelgroupinvite.h mode change 100644 => 100755 indra/newview/llpanelgrouplandmoney.cpp mode change 100644 => 100755 indra/newview/llpanelgrouplandmoney.h mode change 100644 => 100755 indra/newview/llpanelgroupnotices.cpp mode change 100644 => 100755 indra/newview/llpanelgroupnotices.h mode change 100644 => 100755 indra/newview/llpanelgrouproles.cpp mode change 100644 => 100755 indra/newview/llpanelgrouproles.h mode change 100644 => 100755 indra/newview/llpanelhome.cpp mode change 100644 => 100755 indra/newview/llpanelhome.h mode change 100644 => 100755 indra/newview/llpanelimcontrolpanel.cpp mode change 100644 => 100755 indra/newview/llpanelimcontrolpanel.h mode change 100644 => 100755 indra/newview/llpanelland.cpp mode change 100644 => 100755 indra/newview/llpanelland.h mode change 100644 => 100755 indra/newview/llpanellandaudio.cpp mode change 100644 => 100755 indra/newview/llpanellandaudio.h mode change 100644 => 100755 indra/newview/llpanellandmarkinfo.cpp mode change 100644 => 100755 indra/newview/llpanellandmarkinfo.h mode change 100644 => 100755 indra/newview/llpanellandmarks.cpp mode change 100644 => 100755 indra/newview/llpanellandmarks.h mode change 100644 => 100755 indra/newview/llpanellandmedia.cpp mode change 100644 => 100755 indra/newview/llpanellandmedia.h mode change 100644 => 100755 indra/newview/llpanellogin.cpp mode change 100644 => 100755 indra/newview/llpanellogin.h mode change 100644 => 100755 indra/newview/llpanelloginlistener.cpp mode change 100644 => 100755 indra/newview/llpanelloginlistener.h mode change 100644 => 100755 indra/newview/llpanelmaininventory.cpp mode change 100644 => 100755 indra/newview/llpanelmaininventory.h mode change 100644 => 100755 indra/newview/llpanelme.cpp mode change 100644 => 100755 indra/newview/llpanelme.h mode change 100644 => 100755 indra/newview/llpanelmediasettingsgeneral.cpp mode change 100644 => 100755 indra/newview/llpanelmediasettingsgeneral.h mode change 100644 => 100755 indra/newview/llpanelmediasettingspermissions.cpp mode change 100644 => 100755 indra/newview/llpanelmediasettingspermissions.h mode change 100644 => 100755 indra/newview/llpanelmediasettingssecurity.cpp mode change 100644 => 100755 indra/newview/llpanelmediasettingssecurity.h mode change 100644 => 100755 indra/newview/llpanelnearbymedia.cpp mode change 100644 => 100755 indra/newview/llpanelnearbymedia.h mode change 100644 => 100755 indra/newview/llpanelobject.cpp mode change 100644 => 100755 indra/newview/llpanelobject.h mode change 100644 => 100755 indra/newview/llpanelobjectinventory.cpp mode change 100644 => 100755 indra/newview/llpanelobjectinventory.h mode change 100644 => 100755 indra/newview/llpanelonlinestatus.cpp mode change 100644 => 100755 indra/newview/llpanelonlinestatus.h mode change 100644 => 100755 indra/newview/llpaneloutfitedit.cpp mode change 100644 => 100755 indra/newview/llpaneloutfitedit.h mode change 100644 => 100755 indra/newview/llpaneloutfitsinventory.cpp mode change 100644 => 100755 indra/newview/llpaneloutfitsinventory.h mode change 100644 => 100755 indra/newview/llpanelpeople.cpp mode change 100644 => 100755 indra/newview/llpanelpeople.h mode change 100644 => 100755 indra/newview/llpanelpeoplemenus.cpp mode change 100644 => 100755 indra/newview/llpanelpeoplemenus.h mode change 100644 => 100755 indra/newview/llpanelpermissions.cpp mode change 100644 => 100755 indra/newview/llpanelpermissions.h mode change 100644 => 100755 indra/newview/llpanelpick.cpp mode change 100644 => 100755 indra/newview/llpanelpick.h mode change 100644 => 100755 indra/newview/llpanelpicks.cpp mode change 100644 => 100755 indra/newview/llpanelpicks.h mode change 100644 => 100755 indra/newview/llpanelplaceinfo.cpp mode change 100644 => 100755 indra/newview/llpanelplaceinfo.h mode change 100644 => 100755 indra/newview/llpanelplaceprofile.cpp mode change 100644 => 100755 indra/newview/llpanelplaceprofile.h mode change 100644 => 100755 indra/newview/llpanelplaces.cpp mode change 100644 => 100755 indra/newview/llpanelplaces.h mode change 100644 => 100755 indra/newview/llpanelplacestab.cpp mode change 100644 => 100755 indra/newview/llpanelplacestab.h mode change 100644 => 100755 indra/newview/llpanelprimmediacontrols.cpp mode change 100644 => 100755 indra/newview/llpanelprimmediacontrols.h mode change 100644 => 100755 indra/newview/llpanelprofile.cpp mode change 100644 => 100755 indra/newview/llpanelprofile.h mode change 100644 => 100755 indra/newview/llpanelprofileview.cpp mode change 100644 => 100755 indra/newview/llpanelprofileview.h mode change 100644 => 100755 indra/newview/llpanelteleporthistory.cpp mode change 100644 => 100755 indra/newview/llpanelteleporthistory.h mode change 100644 => 100755 indra/newview/llpaneltiptoast.cpp mode change 100644 => 100755 indra/newview/llpaneltiptoast.h mode change 100644 => 100755 indra/newview/llpaneltopinfobar.cpp mode change 100644 => 100755 indra/newview/llpaneltopinfobar.h mode change 100644 => 100755 indra/newview/llpanelvoiceeffect.cpp mode change 100644 => 100755 indra/newview/llpanelvoiceeffect.h mode change 100644 => 100755 indra/newview/llpanelvolume.cpp mode change 100644 => 100755 indra/newview/llpanelvolume.h mode change 100644 => 100755 indra/newview/llpanelvolumepulldown.cpp mode change 100644 => 100755 indra/newview/llpanelvolumepulldown.h mode change 100644 => 100755 indra/newview/llpanelwearing.cpp mode change 100644 => 100755 indra/newview/llpanelwearing.h mode change 100644 => 100755 indra/newview/llparcelselection.cpp mode change 100644 => 100755 indra/newview/llparcelselection.h mode change 100644 => 100755 indra/newview/llparticipantlist.cpp mode change 100644 => 100755 indra/newview/llparticipantlist.h mode change 100644 => 100755 indra/newview/llpatchvertexarray.cpp mode change 100644 => 100755 indra/newview/llpatchvertexarray.h mode change 100644 => 100755 indra/newview/llplacesinventorybridge.cpp mode change 100644 => 100755 indra/newview/llplacesinventorybridge.h mode change 100644 => 100755 indra/newview/llplacesinventorypanel.cpp mode change 100644 => 100755 indra/newview/llplacesinventorypanel.h mode change 100644 => 100755 indra/newview/llpolymesh.cpp mode change 100644 => 100755 indra/newview/llpolymesh.h mode change 100644 => 100755 indra/newview/llpolymorph.cpp mode change 100644 => 100755 indra/newview/llpolymorph.h mode change 100644 => 100755 indra/newview/llpopupview.cpp mode change 100644 => 100755 indra/newview/llpopupview.h mode change 100644 => 100755 indra/newview/llpreview.cpp mode change 100644 => 100755 indra/newview/llpreview.h mode change 100644 => 100755 indra/newview/llpreviewanim.cpp mode change 100644 => 100755 indra/newview/llpreviewanim.h mode change 100644 => 100755 indra/newview/llpreviewgesture.cpp mode change 100644 => 100755 indra/newview/llpreviewgesture.h mode change 100644 => 100755 indra/newview/llpreviewnotecard.cpp mode change 100644 => 100755 indra/newview/llpreviewnotecard.h mode change 100644 => 100755 indra/newview/llpreviewscript.cpp mode change 100644 => 100755 indra/newview/llpreviewscript.h mode change 100644 => 100755 indra/newview/llpreviewsound.cpp mode change 100644 => 100755 indra/newview/llpreviewsound.h mode change 100644 => 100755 indra/newview/llpreviewtexture.cpp mode change 100644 => 100755 indra/newview/llpreviewtexture.h mode change 100644 => 100755 indra/newview/llproductinforequest.cpp mode change 100644 => 100755 indra/newview/llproductinforequest.h mode change 100644 => 100755 indra/newview/llprogressview.cpp mode change 100644 => 100755 indra/newview/llprogressview.h mode change 100644 => 100755 indra/newview/llrecentpeople.cpp mode change 100644 => 100755 indra/newview/llrecentpeople.h mode change 100644 => 100755 indra/newview/llregionposition.cpp mode change 100644 => 100755 indra/newview/llregionposition.h mode change 100644 => 100755 indra/newview/llremoteparcelrequest.cpp mode change 100644 => 100755 indra/newview/llremoteparcelrequest.h mode change 100644 => 100755 indra/newview/llresourcedata.h mode change 100644 => 100755 indra/newview/llrootview.h mode change 100644 => 100755 indra/newview/llsavedsettingsglue.cpp mode change 100644 => 100755 indra/newview/llsavedsettingsglue.h mode change 100644 => 100755 indra/newview/llsaveoutfitcombobtn.cpp mode change 100644 => 100755 indra/newview/llsaveoutfitcombobtn.h mode change 100644 => 100755 indra/newview/llscreenchannel.cpp mode change 100644 => 100755 indra/newview/llscreenchannel.h mode change 100644 => 100755 indra/newview/llscriptfloater.cpp mode change 100644 => 100755 indra/newview/llscriptfloater.h mode change 100644 => 100755 indra/newview/llscrollingpanelparam.cpp mode change 100644 => 100755 indra/newview/llscrollingpanelparam.h mode change 100644 => 100755 indra/newview/llsearchcombobox.cpp mode change 100644 => 100755 indra/newview/llsearchcombobox.h mode change 100644 => 100755 indra/newview/llsearchhistory.cpp mode change 100644 => 100755 indra/newview/llsearchhistory.h mode change 100644 => 100755 indra/newview/llsecapi.cpp mode change 100644 => 100755 indra/newview/llsecapi.h mode change 100644 => 100755 indra/newview/llsechandler_basic.cpp mode change 100644 => 100755 indra/newview/llsechandler_basic.h mode change 100644 => 100755 indra/newview/llselectmgr.cpp mode change 100644 => 100755 indra/newview/llselectmgr.h mode change 100644 => 100755 indra/newview/llsidepanelappearance.cpp mode change 100644 => 100755 indra/newview/llsidepanelappearance.h mode change 100644 => 100755 indra/newview/llsidepanelinventory.cpp mode change 100644 => 100755 indra/newview/llsidepanelinventory.h mode change 100644 => 100755 indra/newview/llsidepanelinventorysubpanel.cpp mode change 100644 => 100755 indra/newview/llsidepanelinventorysubpanel.h mode change 100644 => 100755 indra/newview/llsidepaneliteminfo.cpp mode change 100644 => 100755 indra/newview/llsidepaneliteminfo.h mode change 100644 => 100755 indra/newview/llsidepaneltaskinfo.cpp mode change 100644 => 100755 indra/newview/llsidepaneltaskinfo.h mode change 100644 => 100755 indra/newview/llsidetray.cpp mode change 100644 => 100755 indra/newview/llsidetray.h mode change 100644 => 100755 indra/newview/llsidetraypanelcontainer.cpp mode change 100644 => 100755 indra/newview/llsidetraypanelcontainer.h mode change 100644 => 100755 indra/newview/llsky.cpp mode change 100644 => 100755 indra/newview/llsky.h mode change 100644 => 100755 indra/newview/llslurl.cpp mode change 100644 => 100755 indra/newview/llslurl.h mode change 100644 => 100755 indra/newview/llspatialpartition.cpp mode change 100644 => 100755 indra/newview/llspatialpartition.h mode change 100644 => 100755 indra/newview/llspeakbutton.cpp mode change 100644 => 100755 indra/newview/llspeakbutton.h mode change 100644 => 100755 indra/newview/llspeakers.cpp mode change 100644 => 100755 indra/newview/llspeakers.h mode change 100644 => 100755 indra/newview/llspeakingindicatormanager.cpp mode change 100644 => 100755 indra/newview/llspeakingindicatormanager.h mode change 100644 => 100755 indra/newview/llsplitbutton.cpp mode change 100644 => 100755 indra/newview/llsplitbutton.h mode change 100644 => 100755 indra/newview/llsprite.cpp mode change 100644 => 100755 indra/newview/llsprite.h mode change 100644 => 100755 indra/newview/llsrv.cpp mode change 100644 => 100755 indra/newview/llsrv.h mode change 100644 => 100755 indra/newview/llstartup.cpp mode change 100644 => 100755 indra/newview/llstartup.h mode change 100644 => 100755 indra/newview/llstartuplistener.cpp mode change 100644 => 100755 indra/newview/llstartuplistener.h mode change 100644 => 100755 indra/newview/llstatusbar.cpp mode change 100644 => 100755 indra/newview/llstatusbar.h mode change 100644 => 100755 indra/newview/llstylemap.cpp mode change 100644 => 100755 indra/newview/llstylemap.h mode change 100644 => 100755 indra/newview/llsurface.cpp mode change 100644 => 100755 indra/newview/llsurface.h mode change 100644 => 100755 indra/newview/llsurfacepatch.cpp mode change 100644 => 100755 indra/newview/llsurfacepatch.h mode change 100644 => 100755 indra/newview/llsyswellitem.cpp mode change 100644 => 100755 indra/newview/llsyswellitem.h mode change 100644 => 100755 indra/newview/llsyswellwindow.cpp mode change 100644 => 100755 indra/newview/llsyswellwindow.h mode change 100644 => 100755 indra/newview/lltable.h mode change 100644 => 100755 indra/newview/llteleporthistory.cpp mode change 100644 => 100755 indra/newview/llteleporthistory.h mode change 100644 => 100755 indra/newview/llteleporthistorystorage.cpp mode change 100644 => 100755 indra/newview/llteleporthistorystorage.h mode change 100644 => 100755 indra/newview/lltexglobalcolor.cpp mode change 100644 => 100755 indra/newview/lltexglobalcolor.h mode change 100644 => 100755 indra/newview/lltexlayer.cpp mode change 100644 => 100755 indra/newview/lltexlayer.h mode change 100644 => 100755 indra/newview/lltexlayerparams.cpp mode change 100644 => 100755 indra/newview/lltexlayerparams.h mode change 100644 => 100755 indra/newview/lltextureatlas.cpp mode change 100644 => 100755 indra/newview/lltextureatlas.h mode change 100644 => 100755 indra/newview/lltextureatlasmanager.cpp mode change 100644 => 100755 indra/newview/lltextureatlasmanager.h mode change 100644 => 100755 indra/newview/lltexturecache.cpp mode change 100644 => 100755 indra/newview/lltexturecache.h mode change 100644 => 100755 indra/newview/lltexturectrl.cpp mode change 100644 => 100755 indra/newview/lltexturectrl.h mode change 100644 => 100755 indra/newview/lltexturefetch.cpp mode change 100644 => 100755 indra/newview/lltexturefetch.h mode change 100644 => 100755 indra/newview/lltextureinfo.cpp mode change 100644 => 100755 indra/newview/lltextureinfo.h mode change 100644 => 100755 indra/newview/lltextureinfodetails.cpp mode change 100644 => 100755 indra/newview/lltextureinfodetails.h mode change 100644 => 100755 indra/newview/lltexturestats.cpp mode change 100644 => 100755 indra/newview/lltexturestats.h mode change 100644 => 100755 indra/newview/lltexturestatsuploader.cpp mode change 100644 => 100755 indra/newview/lltexturestatsuploader.h mode change 100644 => 100755 indra/newview/lltextureview.cpp mode change 100644 => 100755 indra/newview/lltextureview.h mode change 100644 => 100755 indra/newview/lltoast.cpp mode change 100644 => 100755 indra/newview/lltoast.h mode change 100644 => 100755 indra/newview/lltoastalertpanel.cpp mode change 100644 => 100755 indra/newview/lltoastalertpanel.h mode change 100644 => 100755 indra/newview/lltoastgroupnotifypanel.cpp mode change 100644 => 100755 indra/newview/lltoastgroupnotifypanel.h mode change 100644 => 100755 indra/newview/lltoastimpanel.cpp mode change 100644 => 100755 indra/newview/lltoastimpanel.h mode change 100644 => 100755 indra/newview/lltoastnotifypanel.cpp mode change 100644 => 100755 indra/newview/lltoastnotifypanel.h mode change 100644 => 100755 indra/newview/lltoastpanel.cpp mode change 100644 => 100755 indra/newview/lltoastpanel.h mode change 100644 => 100755 indra/newview/lltool.cpp mode change 100644 => 100755 indra/newview/lltool.h mode change 100644 => 100755 indra/newview/lltoolbar.cpp mode change 100644 => 100755 indra/newview/lltoolbar.h mode change 100644 => 100755 indra/newview/lltoolbrush.cpp mode change 100644 => 100755 indra/newview/lltoolbrush.h mode change 100644 => 100755 indra/newview/lltoolcomp.cpp mode change 100644 => 100755 indra/newview/lltoolcomp.h mode change 100644 => 100755 indra/newview/lltooldraganddrop.cpp mode change 100644 => 100755 indra/newview/lltooldraganddrop.h mode change 100644 => 100755 indra/newview/lltoolface.cpp mode change 100644 => 100755 indra/newview/lltoolface.h mode change 100644 => 100755 indra/newview/lltoolfocus.cpp mode change 100644 => 100755 indra/newview/lltoolfocus.h mode change 100644 => 100755 indra/newview/lltoolgrab.cpp mode change 100644 => 100755 indra/newview/lltoolgrab.h mode change 100644 => 100755 indra/newview/lltoolgun.cpp mode change 100644 => 100755 indra/newview/lltoolgun.h mode change 100644 => 100755 indra/newview/lltoolindividual.cpp mode change 100644 => 100755 indra/newview/lltoolindividual.h mode change 100644 => 100755 indra/newview/lltoolmgr.cpp mode change 100644 => 100755 indra/newview/lltoolmgr.h mode change 100644 => 100755 indra/newview/lltoolmorph.cpp mode change 100644 => 100755 indra/newview/lltoolmorph.h mode change 100644 => 100755 indra/newview/lltoolobjpicker.cpp mode change 100644 => 100755 indra/newview/lltoolobjpicker.h mode change 100644 => 100755 indra/newview/lltoolpie.cpp mode change 100644 => 100755 indra/newview/lltoolpie.h mode change 100644 => 100755 indra/newview/lltoolpipette.cpp mode change 100644 => 100755 indra/newview/lltoolpipette.h mode change 100644 => 100755 indra/newview/lltoolplacer.cpp mode change 100644 => 100755 indra/newview/lltoolplacer.h mode change 100644 => 100755 indra/newview/lltoolselect.cpp mode change 100644 => 100755 indra/newview/lltoolselect.h mode change 100644 => 100755 indra/newview/lltoolselectland.cpp mode change 100644 => 100755 indra/newview/lltoolselectland.h mode change 100644 => 100755 indra/newview/lltoolselectrect.cpp mode change 100644 => 100755 indra/newview/lltoolselectrect.h mode change 100644 => 100755 indra/newview/lltoolview.cpp mode change 100644 => 100755 indra/newview/lltoolview.h mode change 100644 => 100755 indra/newview/lltracker.cpp mode change 100644 => 100755 indra/newview/lltracker.h mode change 100644 => 100755 indra/newview/lltransientdockablefloater.cpp mode change 100644 => 100755 indra/newview/lltransientdockablefloater.h mode change 100644 => 100755 indra/newview/lltransientfloatermgr.cpp mode change 100644 => 100755 indra/newview/lltransientfloatermgr.h mode change 100644 => 100755 indra/newview/lluiconstants.h mode change 100644 => 100755 indra/newview/lluilistener.cpp mode change 100644 => 100755 indra/newview/lluilistener.h mode change 100644 => 100755 indra/newview/lluploaddialog.cpp mode change 100644 => 100755 indra/newview/lluploaddialog.h mode change 100644 => 100755 indra/newview/llurl.cpp mode change 100644 => 100755 indra/newview/llurl.h mode change 100644 => 100755 indra/newview/llurldispatcher.cpp mode change 100644 => 100755 indra/newview/llurldispatcher.h mode change 100644 => 100755 indra/newview/llurldispatcherlistener.cpp mode change 100644 => 100755 indra/newview/llurldispatcherlistener.h mode change 100644 => 100755 indra/newview/llurlhistory.cpp mode change 100644 => 100755 indra/newview/llurlhistory.h mode change 100644 => 100755 indra/newview/llurllineeditorctrl.cpp mode change 100644 => 100755 indra/newview/llurllineeditorctrl.h mode change 100644 => 100755 indra/newview/llurlwhitelist.cpp mode change 100644 => 100755 indra/newview/llurlwhitelist.h mode change 100644 => 100755 indra/newview/llvectorperfoptions.cpp mode change 100644 => 100755 indra/newview/llvectorperfoptions.h mode change 100644 => 100755 indra/newview/llversioninfo.cpp mode change 100644 => 100755 indra/newview/llversioninfo.h mode change 100644 => 100755 indra/newview/llviewchildren.cpp mode change 100644 => 100755 indra/newview/llviewchildren.h mode change 100644 => 100755 indra/newview/llviewerassetstorage.cpp mode change 100644 => 100755 indra/newview/llviewerassetstorage.h mode change 100644 => 100755 indra/newview/llviewerassettype.cpp mode change 100644 => 100755 indra/newview/llviewerassettype.h mode change 100644 => 100755 indra/newview/llviewerattachmenu.cpp mode change 100644 => 100755 indra/newview/llviewerattachmenu.h mode change 100644 => 100755 indra/newview/llvieweraudio.cpp mode change 100644 => 100755 indra/newview/llvieweraudio.h mode change 100644 => 100755 indra/newview/llviewercamera.cpp mode change 100644 => 100755 indra/newview/llviewercamera.h mode change 100644 => 100755 indra/newview/llviewerchat.cpp mode change 100644 => 100755 indra/newview/llviewerchat.h mode change 100644 => 100755 indra/newview/llviewercontrol.cpp mode change 100644 => 100755 indra/newview/llviewercontrol.h mode change 100644 => 100755 indra/newview/llviewercontrollistener.cpp mode change 100644 => 100755 indra/newview/llviewercontrollistener.h mode change 100644 => 100755 indra/newview/llviewerdisplay.cpp mode change 100644 => 100755 indra/newview/llviewerdisplay.h mode change 100644 => 100755 indra/newview/llviewerfloaterreg.cpp mode change 100644 => 100755 indra/newview/llviewerfloaterreg.h mode change 100644 => 100755 indra/newview/llviewerfoldertype.cpp mode change 100644 => 100755 indra/newview/llviewerfoldertype.h mode change 100644 => 100755 indra/newview/llviewergenericmessage.cpp mode change 100644 => 100755 indra/newview/llviewergenericmessage.h mode change 100644 => 100755 indra/newview/llviewergesture.cpp mode change 100644 => 100755 indra/newview/llviewergesture.h mode change 100644 => 100755 indra/newview/llviewerhelp.cpp mode change 100644 => 100755 indra/newview/llviewerhelp.h mode change 100644 => 100755 indra/newview/llviewerhelputil.cpp mode change 100644 => 100755 indra/newview/llviewerhelputil.h mode change 100644 => 100755 indra/newview/llviewerhome.cpp mode change 100644 => 100755 indra/newview/llviewerhome.h mode change 100644 => 100755 indra/newview/llviewerinventory.cpp mode change 100644 => 100755 indra/newview/llviewerinventory.h mode change 100644 => 100755 indra/newview/llviewerjoint.cpp mode change 100644 => 100755 indra/newview/llviewerjoint.h mode change 100644 => 100755 indra/newview/llviewerjointattachment.cpp mode change 100644 => 100755 indra/newview/llviewerjointattachment.h mode change 100644 => 100755 indra/newview/llviewerjointmesh.cpp mode change 100644 => 100755 indra/newview/llviewerjointmesh.h mode change 100644 => 100755 indra/newview/llviewerjointmesh_sse.cpp mode change 100644 => 100755 indra/newview/llviewerjointmesh_sse2.cpp mode change 100644 => 100755 indra/newview/llviewerjointmesh_vec.cpp mode change 100644 => 100755 indra/newview/llviewerjoystick.cpp mode change 100644 => 100755 indra/newview/llviewerjoystick.h mode change 100644 => 100755 indra/newview/llviewerkeyboard.cpp mode change 100644 => 100755 indra/newview/llviewerkeyboard.h mode change 100644 => 100755 indra/newview/llviewerlayer.cpp mode change 100644 => 100755 indra/newview/llviewerlayer.h mode change 100644 => 100755 indra/newview/llviewermedia.cpp mode change 100644 => 100755 indra/newview/llviewermedia.h mode change 100644 => 100755 indra/newview/llviewermedia_streamingaudio.cpp mode change 100644 => 100755 indra/newview/llviewermedia_streamingaudio.h mode change 100644 => 100755 indra/newview/llviewermediafocus.cpp mode change 100644 => 100755 indra/newview/llviewermediafocus.h mode change 100644 => 100755 indra/newview/llviewermediaobserver.h mode change 100644 => 100755 indra/newview/llviewermenu.cpp mode change 100644 => 100755 indra/newview/llviewermenu.h mode change 100644 => 100755 indra/newview/llviewermenufile.cpp mode change 100644 => 100755 indra/newview/llviewermenufile.h mode change 100644 => 100755 indra/newview/llviewermessage.cpp mode change 100644 => 100755 indra/newview/llviewermessage.h mode change 100644 => 100755 indra/newview/llviewernetwork.cpp mode change 100644 => 100755 indra/newview/llviewernetwork.h mode change 100644 => 100755 indra/newview/llviewerobject.cpp mode change 100644 => 100755 indra/newview/llviewerobject.h mode change 100644 => 100755 indra/newview/llviewerobjectlist.cpp mode change 100644 => 100755 indra/newview/llviewerobjectlist.h mode change 100644 => 100755 indra/newview/llviewerparcelmedia.cpp mode change 100644 => 100755 indra/newview/llviewerparcelmedia.h mode change 100644 => 100755 indra/newview/llviewerparcelmediaautoplay.cpp mode change 100644 => 100755 indra/newview/llviewerparcelmediaautoplay.h mode change 100644 => 100755 indra/newview/llviewerparcelmgr.cpp mode change 100644 => 100755 indra/newview/llviewerparcelmgr.h mode change 100644 => 100755 indra/newview/llviewerparceloverlay.cpp mode change 100644 => 100755 indra/newview/llviewerparceloverlay.h mode change 100644 => 100755 indra/newview/llviewerpartsim.cpp mode change 100644 => 100755 indra/newview/llviewerpartsim.h mode change 100644 => 100755 indra/newview/llviewerpartsource.cpp mode change 100644 => 100755 indra/newview/llviewerpartsource.h mode change 100644 => 100755 indra/newview/llviewerprecompiledheaders.cpp mode change 100644 => 100755 indra/newview/llviewerprecompiledheaders.h mode change 100644 => 100755 indra/newview/llviewerregion.cpp mode change 100644 => 100755 indra/newview/llviewerregion.h mode change 100644 => 100755 indra/newview/llviewershadermgr.cpp mode change 100644 => 100755 indra/newview/llviewershadermgr.h mode change 100644 => 100755 indra/newview/llviewerstats.cpp mode change 100644 => 100755 indra/newview/llviewerstats.h mode change 100644 => 100755 indra/newview/llviewertexteditor.cpp mode change 100644 => 100755 indra/newview/llviewertexteditor.h mode change 100644 => 100755 indra/newview/llviewertexture.cpp mode change 100644 => 100755 indra/newview/llviewertexture.h mode change 100644 => 100755 indra/newview/llviewertextureanim.cpp mode change 100644 => 100755 indra/newview/llviewertextureanim.h mode change 100644 => 100755 indra/newview/llviewertexturelist.cpp mode change 100644 => 100755 indra/newview/llviewertexturelist.h mode change 100644 => 100755 indra/newview/llviewerthrottle.cpp mode change 100644 => 100755 indra/newview/llviewerthrottle.h mode change 100644 => 100755 indra/newview/llviewervisualparam.cpp mode change 100644 => 100755 indra/newview/llviewervisualparam.h mode change 100644 => 100755 indra/newview/llviewerwindow.cpp mode change 100644 => 100755 indra/newview/llviewerwindow.h mode change 100644 => 100755 indra/newview/llviewerwindowlistener.cpp mode change 100644 => 100755 indra/newview/llviewerwindowlistener.h mode change 100644 => 100755 indra/newview/llvlcomposition.cpp mode change 100644 => 100755 indra/newview/llvlcomposition.h mode change 100644 => 100755 indra/newview/llvlmanager.cpp mode change 100644 => 100755 indra/newview/llvlmanager.h mode change 100644 => 100755 indra/newview/llvoavatar.cpp mode change 100644 => 100755 indra/newview/llvoavatar.h mode change 100644 => 100755 indra/newview/llvoavatardefines.cpp mode change 100644 => 100755 indra/newview/llvoavatardefines.h mode change 100644 => 100755 indra/newview/llvoavatarself.cpp mode change 100644 => 100755 indra/newview/llvoavatarself.h mode change 100644 => 100755 indra/newview/llvocache.cpp mode change 100644 => 100755 indra/newview/llvocache.h mode change 100644 => 100755 indra/newview/llvoclouds.cpp mode change 100644 => 100755 indra/newview/llvoclouds.h mode change 100644 => 100755 indra/newview/llvograss.cpp mode change 100644 => 100755 indra/newview/llvograss.h mode change 100644 => 100755 indra/newview/llvoground.cpp mode change 100644 => 100755 indra/newview/llvoground.h mode change 100644 => 100755 indra/newview/llvoicechannel.cpp mode change 100644 => 100755 indra/newview/llvoicechannel.h mode change 100644 => 100755 indra/newview/llvoiceclient.cpp mode change 100644 => 100755 indra/newview/llvoiceclient.h mode change 100644 => 100755 indra/newview/llvoicevisualizer.cpp mode change 100644 => 100755 indra/newview/llvoicevisualizer.h mode change 100644 => 100755 indra/newview/llvoicevivox.cpp mode change 100644 => 100755 indra/newview/llvoicevivox.h mode change 100644 => 100755 indra/newview/llvoinventorylistener.cpp mode change 100644 => 100755 indra/newview/llvoinventorylistener.h mode change 100644 => 100755 indra/newview/llvopartgroup.cpp mode change 100644 => 100755 indra/newview/llvopartgroup.h mode change 100644 => 100755 indra/newview/llvosky.cpp mode change 100644 => 100755 indra/newview/llvosky.h mode change 100644 => 100755 indra/newview/llvosurfacepatch.cpp mode change 100644 => 100755 indra/newview/llvosurfacepatch.h mode change 100644 => 100755 indra/newview/llvotextbubble.cpp mode change 100644 => 100755 indra/newview/llvotextbubble.h mode change 100644 => 100755 indra/newview/llvotree.cpp mode change 100644 => 100755 indra/newview/llvotree.h mode change 100644 => 100755 indra/newview/llvotreenew.h mode change 100644 => 100755 indra/newview/llvovolume.cpp mode change 100644 => 100755 indra/newview/llvovolume.h mode change 100644 => 100755 indra/newview/llvowater.cpp mode change 100644 => 100755 indra/newview/llvowater.h mode change 100644 => 100755 indra/newview/llvowlsky.cpp mode change 100644 => 100755 indra/newview/llvowlsky.h mode change 100644 => 100755 indra/newview/llwatchdog.cpp mode change 100644 => 100755 indra/newview/llwatchdog.h mode change 100644 => 100755 indra/newview/llwaterparammanager.cpp mode change 100644 => 100755 indra/newview/llwaterparammanager.h mode change 100644 => 100755 indra/newview/llwaterparamset.cpp mode change 100644 => 100755 indra/newview/llwaterparamset.h mode change 100644 => 100755 indra/newview/llwearable.cpp mode change 100644 => 100755 indra/newview/llwearable.h mode change 100644 => 100755 indra/newview/llwearableitemslist.cpp mode change 100644 => 100755 indra/newview/llwearableitemslist.h mode change 100644 => 100755 indra/newview/llwearablelist.cpp mode change 100644 => 100755 indra/newview/llwearablelist.h mode change 100644 => 100755 indra/newview/llwearabletype.cpp mode change 100644 => 100755 indra/newview/llwearabletype.h mode change 100644 => 100755 indra/newview/llweb.cpp mode change 100644 => 100755 indra/newview/llweb.h mode change 100644 => 100755 indra/newview/llwebsharing.cpp mode change 100644 => 100755 indra/newview/llwebsharing.h mode change 100644 => 100755 indra/newview/llwind.cpp mode change 100644 => 100755 indra/newview/llwind.h mode change 100644 => 100755 indra/newview/llwindebug.cpp mode change 100644 => 100755 indra/newview/llwindebug.h mode change 100644 => 100755 indra/newview/llwlanimator.cpp mode change 100644 => 100755 indra/newview/llwlanimator.h mode change 100644 => 100755 indra/newview/llwldaycycle.cpp mode change 100644 => 100755 indra/newview/llwldaycycle.h mode change 100644 => 100755 indra/newview/llwlparammanager.cpp mode change 100644 => 100755 indra/newview/llwlparammanager.h mode change 100644 => 100755 indra/newview/llwlparamset.cpp mode change 100644 => 100755 indra/newview/llwlparamset.h mode change 100644 => 100755 indra/newview/llworld.cpp mode change 100644 => 100755 indra/newview/llworld.h mode change 100644 => 100755 indra/newview/llworldmap.cpp mode change 100644 => 100755 indra/newview/llworldmap.h mode change 100644 => 100755 indra/newview/llworldmapmessage.cpp mode change 100644 => 100755 indra/newview/llworldmapmessage.h mode change 100644 => 100755 indra/newview/llworldmapview.cpp mode change 100644 => 100755 indra/newview/llworldmapview.h mode change 100644 => 100755 indra/newview/llworldmipmap.cpp mode change 100644 => 100755 indra/newview/llworldmipmap.h mode change 100644 => 100755 indra/newview/llworldview.cpp mode change 100644 => 100755 indra/newview/llxmlrpclistener.cpp mode change 100644 => 100755 indra/newview/llxmlrpclistener.h mode change 100644 => 100755 indra/newview/llxmlrpctransaction.cpp mode change 100644 => 100755 indra/newview/llxmlrpctransaction.h mode change 100644 => 100755 indra/newview/macmain.h mode change 100644 => 100755 indra/newview/macutil_Prefix.h mode change 100644 => 100755 indra/newview/macview.r mode change 100644 => 100755 indra/newview/macview_Prefix.h mode change 100644 => 100755 indra/newview/nl.lproj/language.txt mode change 100644 => 100755 indra/newview/noise.cpp mode change 100644 => 100755 indra/newview/noise.h mode change 100644 => 100755 indra/newview/pipeline.cpp mode change 100644 => 100755 indra/newview/pipeline.h mode change 100644 => 100755 indra/newview/pl.lproj/language.txt mode change 100644 => 100755 indra/newview/pt.lproj/language.txt mode change 100644 => 100755 indra/newview/res-sdl/arrow.BMP mode change 100644 => 100755 indra/newview/res-sdl/arrowcop.BMP mode change 100644 => 100755 indra/newview/res-sdl/arrowcopmulti.BMP mode change 100644 => 100755 indra/newview/res-sdl/arrowdrag.BMP mode change 100644 => 100755 indra/newview/res-sdl/circleandline.BMP mode change 100644 => 100755 indra/newview/res-sdl/cross.BMP mode change 100644 => 100755 indra/newview/res-sdl/hand.BMP mode change 100644 => 100755 indra/newview/res-sdl/ibeam.BMP mode change 100644 => 100755 indra/newview/res-sdl/ll_icon.BMP mode change 100644 => 100755 indra/newview/res-sdl/llarrow.BMP mode change 100644 => 100755 indra/newview/res-sdl/llarrowdrag.BMP mode change 100644 => 100755 indra/newview/res-sdl/llarrowdragmulti.BMP mode change 100644 => 100755 indra/newview/res-sdl/llarrowlocked.BMP mode change 100644 => 100755 indra/newview/res-sdl/llgrablocked.BMP mode change 100644 => 100755 indra/newview/res-sdl/llno.BMP mode change 100644 => 100755 indra/newview/res-sdl/llnolocked.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolcamera.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolcreate.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolfocus.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolgrab.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolland.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolpan.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolpipette.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolrotate.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolscale.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltooltranslate.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolzoomin.BMP mode change 100644 => 100755 indra/newview/res-sdl/lltoolzoomout.BMP mode change 100644 => 100755 indra/newview/res-sdl/sizenesw.BMP mode change 100644 => 100755 indra/newview/res-sdl/sizens.BMP mode change 100644 => 100755 indra/newview/res-sdl/sizenwse.BMP mode change 100644 => 100755 indra/newview/res-sdl/sizewe.BMP mode change 100644 => 100755 indra/newview/res-sdl/toolbuy.BMP mode change 100644 => 100755 indra/newview/res-sdl/toolmediaopen.BMP mode change 100644 => 100755 indra/newview/res-sdl/toolopen.BMP mode change 100644 => 100755 indra/newview/res-sdl/toolpause.BMP mode change 100644 => 100755 indra/newview/res-sdl/toolpickobject.BMP mode change 100644 => 100755 indra/newview/res-sdl/toolpickobject2.BMP mode change 100644 => 100755 indra/newview/res-sdl/toolpickobject3.BMP mode change 100644 => 100755 indra/newview/res-sdl/toolplay.BMP mode change 100644 => 100755 indra/newview/res-sdl/toolsit.BMP mode change 100644 => 100755 indra/newview/res-sdl/wait.BMP mode change 100644 => 100755 indra/newview/res-sdl/working.BMP mode change 100644 => 100755 indra/newview/res/arrow.cur mode change 100644 => 100755 indra/newview/res/arrowcop.cur mode change 100644 => 100755 indra/newview/res/arrowcopmulti.cur mode change 100644 => 100755 indra/newview/res/arrowdrag.cur mode change 100644 => 100755 indra/newview/res/bitmap2.bmp mode change 100644 => 100755 indra/newview/res/circleandline.cur mode change 100644 => 100755 indra/newview/res/have_artwork_bundle.marker mode change 100644 => 100755 indra/newview/res/icon1.ico mode change 100644 => 100755 indra/newview/res/install_icon.BMP mode change 100644 => 100755 indra/newview/res/ll_icon.BMP mode change 100644 => 100755 indra/newview/res/ll_icon.ico mode change 100644 => 100755 indra/newview/res/ll_icon.png mode change 100644 => 100755 indra/newview/res/llarrow.cur mode change 100644 => 100755 indra/newview/res/llarrowdrag.cur mode change 100644 => 100755 indra/newview/res/llarrowdragmulti.cur mode change 100644 => 100755 indra/newview/res/llarrowlocked.cur mode change 100644 => 100755 indra/newview/res/llgrablocked.cur mode change 100644 => 100755 indra/newview/res/llno.cur mode change 100644 => 100755 indra/newview/res/llnolocked.cur mode change 100644 => 100755 indra/newview/res/lltoolcamera.cur mode change 100644 => 100755 indra/newview/res/lltoolcreate.cur mode change 100644 => 100755 indra/newview/res/lltoolfocus.cur mode change 100644 => 100755 indra/newview/res/lltoolgrab.cur mode change 100644 => 100755 indra/newview/res/lltoolland.cur mode change 100644 => 100755 indra/newview/res/lltoolpan.cur mode change 100644 => 100755 indra/newview/res/lltoolpipette.cur mode change 100644 => 100755 indra/newview/res/lltoolrotate.cur mode change 100644 => 100755 indra/newview/res/lltoolscale.cur mode change 100644 => 100755 indra/newview/res/lltooltranslate.cur mode change 100644 => 100755 indra/newview/res/lltoolzoomin.cur mode change 100644 => 100755 indra/newview/res/lltoolzoomout.cur mode change 100644 => 100755 indra/newview/res/loginbackground.bmp mode change 100644 => 100755 indra/newview/res/resource.h mode change 100644 => 100755 indra/newview/res/toolbuy.cur mode change 100644 => 100755 indra/newview/res/toolmediaopen.cur mode change 100644 => 100755 indra/newview/res/toolopen.cur mode change 100644 => 100755 indra/newview/res/toolpause.cur mode change 100644 => 100755 indra/newview/res/toolpickobject.cur mode change 100644 => 100755 indra/newview/res/toolpickobject2.cur mode change 100644 => 100755 indra/newview/res/toolpickobject3.cur mode change 100644 => 100755 indra/newview/res/toolpipette.cur mode change 100644 => 100755 indra/newview/res/toolplay.cur mode change 100644 => 100755 indra/newview/res/toolsit.cur mode change 100644 => 100755 indra/newview/res/uninstall_icon.BMP mode change 100644 => 100755 indra/newview/res/viewerRes.rc mode change 100644 => 100755 indra/newview/ru.lproj/language.txt mode change 100644 => 100755 indra/newview/secondlife-i686.supp mode change 100644 => 100755 indra/newview/secondlife.icns mode change 100644 => 100755 indra/newview/secondlife_firstlook.icns mode change 100644 => 100755 indra/newview/skins/default/colors.xml mode change 100644 => 100755 indra/newview/skins/default/html/btn_purplepill_bg.png mode change 100644 => 100755 indra/newview/skins/default/html/da/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/de/loading-error/index.html mode change 100644 => 100755 indra/newview/skins/default/html/de/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/en-us/help-offline/index.html mode change 100644 => 100755 indra/newview/skins/default/html/en-us/loading-error/index.html mode change 100644 => 100755 indra/newview/skins/default/html/en-us/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/en-us/loading/sl_logo_rotate_black.gif mode change 100644 => 100755 indra/newview/skins/default/html/es/loading-error/index.html mode change 100644 => 100755 indra/newview/skins/default/html/es/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/fr/loading-error/index.html mode change 100644 => 100755 indra/newview/skins/default/html/fr/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/hu/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/it/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/ja/loading-error/index.html mode change 100644 => 100755 indra/newview/skins/default/html/ja/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/ko/loading-error/index.html mode change 100644 => 100755 indra/newview/skins/default/html/nl/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/pl/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/pt/loading-error/index.html mode change 100644 => 100755 indra/newview/skins/default/html/pt/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/ru/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/tr/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/uk/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/html/unabletoconnect.png mode change 100644 => 100755 indra/newview/skins/default/html/zh/loading-error/index.html mode change 100644 => 100755 indra/newview/skins/default/html/zh/loading/loading.html mode change 100644 => 100755 indra/newview/skins/default/textures/Blank.png mode change 100644 => 100755 indra/newview/skins/default/textures/alpha_gradient.tga mode change 100644 => 100755 indra/newview/skins/default/textures/alpha_gradient_2d.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/arrow_down.tga mode change 100644 => 100755 indra/newview/skins/default/textures/arrow_up.tga mode change 100644 => 100755 indra/newview/skins/default/textures/avatar_thumb_bkgrnd.png mode change 100644 => 100755 indra/newview/skins/default/textures/badge_note.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/badge_ok.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/badge_warn.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Avatar_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_FreeCam_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Orbit_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Pan_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Pan_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Preset_Back_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Preset_Back_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Preset_Eye_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Preset_Front_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Preset_Front_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Preset_Side_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Preset_Side_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Rotate_In.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Rotate_Out.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Tracking_In.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Cam_Tracking_Out.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/CameraView_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/DownArrow.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Mouselook_View_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Mouselook_View_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Move_Run_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Move_Walk_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Backward_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Backward_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Down_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Down_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Forward_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Forward_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Left_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Left_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Right_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Right_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_TurnLeft_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_TurnLeft_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_TurnRight_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_TurnRight_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Up_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Movement_Up_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Notices_Unread.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Object_View_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Object_View_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/PanOrbit_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/PanOrbit_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/PanOrbit_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/PanOrbit_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Unread_Chiclet.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/Unread_IM.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/VoicePTT_Lvl1.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/VoicePTT_Lvl2.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/VoicePTT_Lvl3.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/VoicePTT_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/VoicePTT_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/WellButton_Lit.png mode change 100644 => 100755 indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Cone.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Cone_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Cube.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Cube_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Cylinder.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Cylinder_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Grass.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Grass_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Hemi_Cone.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Hemi_Cone_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Hemi_Cylinder.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Hemi_Cylinder_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Hemi_Sphere.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Hemi_Sphere_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Prism.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Prism_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Pyramid.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Pyramid_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Ring.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Ring_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Sphere.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Sphere_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Tetrahedron.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Tetrahedron_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Torus.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Torus_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Tree.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Tree_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Tube.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Object_Tube_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Tool_Create.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Tool_Dozer.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Tool_Face.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Tool_Grab.png mode change 100644 => 100755 indra/newview/skins/default/textures/build/Tool_Zoom.png mode change 100644 => 100755 indra/newview/skins/default/textures/button_anim_pause.tga mode change 100644 => 100755 indra/newview/skins/default/textures/button_anim_pause_selected.tga mode change 100644 => 100755 indra/newview/skins/default/textures/button_anim_play.tga mode change 100644 => 100755 indra/newview/skins/default/textures/button_anim_play_selected.tga mode change 100644 => 100755 indra/newview/skins/default/textures/checkerboard_transparency_bg.png mode change 100644 => 100755 indra/newview/skins/default/textures/circle.tga mode change 100644 => 100755 indra/newview/skins/default/textures/cloud-particle.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/color_swatch_alpha.tga mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_ArrowClosed_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_ArrowClosed_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_ArrowClosed_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_ArrowOpened_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_ArrowOpened_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_ArrowOpened_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Accordion_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Container.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/TabTop_Left_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/TabTop_Left_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/TabTop_Left_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/TabTop_Middle_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/TabTop_Middle_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/TabTop_Middle_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/TabTop_Right_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/TabTop_Right_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/TabTop_Right_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Left_Flash.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Left_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Left_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Left_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Middle_Flash.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Middle_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Middle_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Middle_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Right_Flash.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Right_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Right_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/containers/Toolbar_Right_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/crosshairs.tga mode change 100644 => 100755 indra/newview/skins/default/textures/default_land_picture.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/default_profile_picture.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/direction_arrow.tga mode change 100644 => 100755 indra/newview/skins/default/textures/down_arrow.png mode change 100644 => 100755 indra/newview/skins/default/textures/eye_button_active.tga mode change 100644 => 100755 indra/newview/skins/default/textures/eye_button_inactive.tga mode change 100644 => 100755 indra/newview/skins/default/textures/ff_edit_mine.tga mode change 100644 => 100755 indra/newview/skins/default/textures/ff_edit_mine_button.tga mode change 100644 => 100755 indra/newview/skins/default/textures/ff_edit_theirs.tga mode change 100644 => 100755 indra/newview/skins/default/textures/ff_edit_theirs_button.tga mode change 100644 => 100755 indra/newview/skins/default/textures/ff_online_status_button.tga mode change 100644 => 100755 indra/newview/skins/default/textures/ff_visible_map.tga mode change 100644 => 100755 indra/newview/skins/default/textures/ff_visible_map_button.tga mode change 100644 => 100755 indra/newview/skins/default/textures/ff_visible_online.tga mode change 100644 => 100755 indra/newview/skins/default/textures/ff_visible_online_button.tga mode change 100644 => 100755 indra/newview/skins/default/textures/folder_arrow.tga mode change 100644 => 100755 indra/newview/skins/default/textures/foot_shadow.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/icn_label_web.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icn_media.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icn_media_movie.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icn_media_web.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icn_voice-groupfocus.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icn_voice-localchat.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icn_voice-pvtfocus.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icon_avatar_offline.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icon_avatar_online.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icon_day_cycle.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icon_diurnal.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icon_event_adult.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icon_for_sale_adult.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icon_lock.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icon_top_pick.tga mode change 100644 => 100755 indra/newview/skins/default/textures/icons/AddItem_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/AddItem_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/AddItem_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/AddItem_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/AudioMute_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/AudioMute_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Audio_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Audio_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/BackArrow_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/BackArrow_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/DownArrow_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/DragHandle.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Edit_Wrench.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/ExternalBrowser_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Female.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/ForSale_Badge.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/ForwardArrow_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/ForwardArrow_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Generic_Group.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Generic_Group_Large.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Generic_Object.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Generic_Object_Small.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Generic_Person.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Generic_Person_Large.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Hierarchy_View_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Hierarchy_View_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Icon_For_Sale.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Info.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Info_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Info_Small.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Alpha.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Animation.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_BodyShape.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_CallingCard.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Clothing.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Eye.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_FolderClosed.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_FolderOpen.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Gesture.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Gloves.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Hair.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Jacket.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Landmark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Link.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_LinkFolder.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_LinkItem.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_LookFolderClosed.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_LookFolderOpen.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_LostClosed.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_LostOpen.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Notecard.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Object.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Object_Multi.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Pants.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Script.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Shirt.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Shoe.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Skin.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Skirt.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Snapshot.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Socks.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Sound.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_SysClosed.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_SysOpen.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Tattoo.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Texture.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_TrashClosed.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_TrashOpen.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Underpants.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Inv_Undershirt.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/List_View_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/List_View_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Lock.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Locked_Icon.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Male.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Microphone_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/MinusItem_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/MinusItem_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/MinusItem_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/OptionsMenu_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/OptionsMenu_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/OptionsMenu_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/OptionsMenu_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_M_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_M_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_PG_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_R_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_R_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Pause_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Pause_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Pause_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Play_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Play_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Play_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_1.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_10.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_11.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_12.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_2.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_3.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_4.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_5.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_6.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_7.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_8.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Progress_9.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Refresh_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/SL_Logo.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Search_Icon.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Shirt_Large.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Shop.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/SkipBackward_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/SkipForward_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/StopReload_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/StopReload_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Stop_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/TrashItem_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/TrashItem_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/TrashItem_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/TrashItem_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/UnZoom_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/UpArrow_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/VoicePTT_Lvl1.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/VoicePTT_Lvl2.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/VoicePTT_Lvl3.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/VoicePTT_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/VoicePTT_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/YouAreHere_Badge.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/Zoom_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/avaline_default_icon.jpg mode change 100644 => 100755 indra/newview/skins/default/textures/icons/back_arrow_off.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/back_arrow_over.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/back_arrow_press.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/object_icon.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/parcel_color_EVRY.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/parcel_color_EXP.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/parcel_color_M.png mode change 100644 => 100755 indra/newview/skins/default/textures/icons/unknown_icon.png mode change 100644 => 100755 indra/newview/skins/default/textures/image_edit_icon.tga mode change 100644 => 100755 indra/newview/skins/default/textures/inv_folder_animation.tga mode change 100644 => 100755 indra/newview/skins/default/textures/inv_folder_inbox.tga mode change 100644 => 100755 indra/newview/skins/default/textures/jump_left_in.tga mode change 100644 => 100755 indra/newview/skins/default/textures/jump_left_out.tga mode change 100644 => 100755 indra/newview/skins/default/textures/jump_right_in.tga mode change 100644 => 100755 indra/newview/skins/default/textures/jump_right_out.tga mode change 100644 => 100755 indra/newview/skins/default/textures/lag_status_critical.tga mode change 100644 => 100755 indra/newview/skins/default/textures/lag_status_good.tga mode change 100644 => 100755 indra/newview/skins/default/textures/lag_status_warning.tga mode change 100644 => 100755 indra/newview/skins/default/textures/legend.tga mode change 100644 => 100755 indra/newview/skins/default/textures/locked_image.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/map_avatar_16.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_avatar_32.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_avatar_8.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_avatar_above_32.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_avatar_above_8.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_avatar_below_32.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_avatar_below_8.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_avatar_you_32.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_event.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_event_adult.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_event_mature.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_home.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_infohub.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_telehub.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_track_16.tga mode change 100644 => 100755 indra/newview/skins/default/textures/map_track_8.tga mode change 100644 => 100755 indra/newview/skins/default/textures/menu_separator.png mode change 100644 => 100755 indra/newview/skins/default/textures/missing_asset.tga mode change 100644 => 100755 indra/newview/skins/default/textures/mute_icon.tga mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Arrow_Left_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Arrow_Left_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Arrow_Right_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Arrow_Right_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/BuyArrow_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/BuyArrow_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Favorite_Link_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Favorite_Star_Active.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Favorite_Star_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Favorite_Star_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Favorite_Star_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/FileMenu_Divider.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Flag.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Help_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Help_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Home_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Home_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Info_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Info_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Info_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Lock.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/NavBar_BG.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/NavBar_BG_NoFav_Bevel.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/NavBar_BG_NoNav_Bevel.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Row_Selection.png mode change 100644 => 100755 indra/newview/skins/default/textures/navbar/Search.png mode change 100644 => 100755 indra/newview/skins/default/textures/notify_caution_icon.tga mode change 100644 => 100755 indra/newview/skins/default/textures/pixiesmall.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/places_rating_adult.tga mode change 100644 => 100755 indra/newview/skins/default/textures/places_rating_mature.tga mode change 100644 => 100755 indra/newview/skins/default/textures/places_rating_pg.tga mode change 100644 => 100755 indra/newview/skins/default/textures/propertyline.tga mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/avatar_free_mode.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/camera_free_mode.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/camera_orbit_mode.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/camera_pan_mode.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/camera_preset_front_view.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/camera_preset_group_view.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/camera_preset_rear_view.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/move_fly_first.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/move_fly_second.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/move_run_first.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/move_run_second.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/move_walk_first.png mode change 100644 => 100755 indra/newview/skins/default/textures/quick_tips/move_walk_second.png mode change 100644 => 100755 indra/newview/skins/default/textures/rounded_square.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/script_error.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/show_btn.tga mode change 100644 => 100755 indra/newview/skins/default/textures/show_btn_selected.tga mode change 100644 => 100755 indra/newview/skins/default/textures/silhouette.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/slim_icon_16_viewer.tga mode change 100644 => 100755 indra/newview/skins/default/textures/smicon_warn.tga mode change 100644 => 100755 indra/newview/skins/default/textures/spacer24.tga mode change 100644 => 100755 indra/newview/skins/default/textures/spacer35.tga mode change 100644 => 100755 indra/newview/skins/default/textures/square_btn_32x128.tga mode change 100644 => 100755 indra/newview/skins/default/textures/square_btn_selected_32x128.tga mode change 100644 => 100755 indra/newview/skins/default/textures/startup_logo.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/status_busy.tga mode change 100644 => 100755 indra/newview/skins/default/textures/tabarea.tga mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/Activate_Checkmark.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Appearance_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Appearance_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Close_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Home_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Home_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Me_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Me_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Open_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_People_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_People_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Places_Large.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Places_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Places_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Things_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TabIcon_Things_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TaskPanel_Tab_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/taskpanel/TaskPanel_Tab_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/tearoff_pressed.tga mode change 100644 => 100755 indra/newview/skins/default/textures/tearoffbox.tga mode change 100644 => 100755 indra/newview/skins/default/textures/textures.xml mode change 100644 => 100755 indra/newview/skins/default/textures/transparent.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/up_arrow.png mode change 100644 => 100755 indra/newview/skins/default/textures/uv_test1.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/uv_test2.tga mode change 100644 => 100755 indra/newview/skins/default/textures/voice_meter_dot.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/voice_meter_rings.j2c mode change 100644 => 100755 indra/newview/skins/default/textures/white.tga mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Arrow_Down.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Arrow_Small_Left.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Arrow_Small_Right.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Arrow_Small_Up.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Arrow_Up.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Checkbox_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Checkbox_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Checkbox_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Checkbox_On_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Checkbox_On_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Checkbox_On_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Checkbox_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Checkbox_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ComboButton_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ComboButton_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ComboButton_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ComboButton_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ComboButton_UpOff.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ComboButton_UpSelected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ComboButton_Up_On_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/DisclosureArrow_Closed_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/DisclosureArrow_Opened_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/DisclosureArrow_Opened_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/DropDown_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/DropDown_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/DropDown_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/DropDown_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/DropTarget.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Linden_Dollar_Alert.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Linden_Dollar_Background.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ListItem_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ListItem_Select.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ProgressBar.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ProgressTrack.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_On_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_On_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_Selected_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_Selected_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/PushButton_Selected_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/RadioButton_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/RadioButton_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/RadioButton_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/RadioButton_On_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/RadioButton_On_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/RadioButton_On_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/RadioButton_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/RadioButton_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Down.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Opaque.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over_Opaque.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Left.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Left_Opaque.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Left_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Left_Over_Opaque.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Right.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Right_Opaque.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Right_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Right_Over_Opaque.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Up.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Opaque.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over_Opaque.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollThumb_Horiz.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollThumb_Horiz_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollThumb_Vert.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollThumb_Vert_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollTrack_Horiz.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/ScrollTrack_Vert.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_On_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_On_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SliderThumb_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SliderThumb_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SliderThumb_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SliderThumb_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SliderTrack_Horiz.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/SliderTrack_Vert.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Stepper_Down_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Stepper_Down_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Stepper_Down_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Stepper_Up_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Stepper_Up_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Stepper_Up_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/TextField_Active.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/TextField_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/TextField_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/TextField_Search_Active.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/TextField_Search_Disabled.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/TextField_Search_Off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/Tooltip.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/bevel_background.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/buy_off.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/buy_over.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/buy_press.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/jump_left_in.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/jump_left_out.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/jump_right_in.png mode change 100644 => 100755 indra/newview/skins/default/textures/widgets/jump_right_out.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Dragbar.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Flyout.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Flyout_Pointer.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Flyout_Pointer_Up.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Close_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Close_Toast.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Dock_Foreground.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Dock_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Gear_Background.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Gear_Foreground.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Gear_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Gear_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Help_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Restore_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Undock_Foreground.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Icon_Undock_Press.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Inspector_Background.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Inspector_Hover.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Inspector_I.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Resize_Corner.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Toast_Background.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Toast_CloseBtn.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Toast_Over.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Volume_Background.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Wearables_Divider.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Window_Background.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Window_Foreground.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Window_NoTitle_Background.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/Window_NoTitle_Foreground.png mode change 100644 => 100755 indra/newview/skins/default/textures/windows/startup_logo.png mode change 100644 => 100755 indra/newview/skins/default/textures/world/BeaconArrow.png mode change 100644 => 100755 indra/newview/skins/default/textures/world/NoEntryLines.png mode change 100644 => 100755 indra/newview/skins/default/textures/world/NoEntryPassLines.png mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_activeim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_buy_currency_html.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_device_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_god_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_help_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_im_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_im_session.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_incoming_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_media_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_outfit_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_outgoing_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_gesture_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_gesture_shortcut.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_gesture_steps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_publish_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_script_debug_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_script_limits.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_sys_well.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_voice_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_wearable_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_whitelist_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_window_size.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/inspect_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/inspect_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/inspect_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/inspect_remote_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_attachment_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_attachment_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_avatar_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_avatar_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_cof_attachment.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_cof_body_part.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_cof_clothing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_cof_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_favorites.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_gesture_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_group_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_hide_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_im_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_imchiclet_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_imchiclet_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_imchiclet_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_inspect_object_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_inspect_self_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_inv_offer_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_notification_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_object_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_outfit_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_outfit_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_participant_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_people_friends_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_people_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_people_groups_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_people_nearby.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_people_nearby_multiselect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_people_nearby_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_people_recent_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_picks_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_place.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_place_add_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_places_gear_folder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_profile_overflow.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_save_outfit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_script_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_teleport_history_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_teleport_history_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_topinfobar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_agent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_http.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_objectim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_parcel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_slapp.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_url_teleport.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_wearing_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/menu_wearing_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/mime_types_linux.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/mime_types_mac.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/outfit_accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_active_object_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_body_parts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_bodyparts_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_bottomtray_lite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_classified_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_clothing_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_cof_wearables.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_alpha.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_eyes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_gloves.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_hair.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_jacket.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_pants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_pick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_shape.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_shirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_shoes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_skin.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_skirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_socks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_tattoo.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_underpants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_undershirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_edit_wearable.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_group_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_group_info_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_group_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_group_notify.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_im_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_inventory_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_landmark_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_landmarks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_me.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_media_settings_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_media_settings_permissions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_media_settings_security.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_my_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_nearby_chat_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_nearby_media.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_notes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_online_status.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_online_status_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_outfit_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_outfits_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_outfits_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_outfits_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_outfits_wearing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_people.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_pick_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_place_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_places.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_prim_media_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_profile_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_region_general_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_script_ed.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_script_limits_my_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_script_limits_region_memory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_side_tray_tab_caption.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_stand_stop_flying.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_teleport_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/sidepanel_appearance.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/sidepanel_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/sidepanel_item_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/sidepanel_task_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/da/xui_version.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_activeim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_buy_currency_html.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_device_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_first_time_tip.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_god_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_help_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_im_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_im_session.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_incoming_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_media_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_notification.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_notifications_console.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_outfit_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_outgoing_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_post_process.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_gesture_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_gesture_shortcut.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_gesture_steps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_publish_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_script_debug_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_script_limits.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_sys_well.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_voice_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_wearable_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_whitelist_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_window_size.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/inspect_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/inspect_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/inspect_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/inspect_remote_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_attachment_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_attachment_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_avatar_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_avatar_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_cof_attachment.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_cof_body_part.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_cof_clothing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_cof_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_favorites.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_gesture_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_group_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_hide_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_im_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_imchiclet_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_imchiclet_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_imchiclet_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_inspect_object_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_inv_offer_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_notification_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_object_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_outfit_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_outfit_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_participant_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_people_friends_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_people_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_people_groups_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_people_nearby.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_people_nearby_multiselect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_people_nearby_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_people_recent_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_picks_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_place.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_place_add_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_places_gear_folder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_profile_overflow.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_save_outfit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_script_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_teleport_history_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_teleport_history_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_topinfobar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_agent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_http.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_objectim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_parcel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_slapp.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_url_teleport.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_wearing_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/menu_wearing_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/mime_types_linux.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/mime_types_mac.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/outfit_accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_active_object_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_activeim_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_adhoc_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_avatar_tag.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_body_parts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_bodyparts_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_bottomtray_lite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_chat_header.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_classified_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_clothing_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_cof_wearables.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_alpha.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_eyes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_gloves.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_hair.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_jacket.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_pants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_pick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_shape.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_shirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_shoes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_skin.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_skirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_socks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_tattoo.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_underpants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_undershirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_edit_wearable.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_group_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_group_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_group_notify.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_im_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_instant_message.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_inventory_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_landmark_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_landmarks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_me.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_media_settings_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_media_settings_permissions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_media_settings_security.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_my_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_nearby_chat_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_nearby_media.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_notes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_notifications_channel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_online_status.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_online_status_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_outfit_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_outfits_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_outfits_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_outfits_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_outfits_wearing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_people.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_pick_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_place_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_places.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_prim_media_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_profile_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_region_general_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_script_ed.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_script_limits_my_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_script_limits_region_memory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_side_tray_tab_caption.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_sidetray_home_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_stand_stop_flying.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_sys_well_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_teleport_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/sidepanel_appearance.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/sidepanel_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/sidepanel_item_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/sidepanel_task_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/de/xui_version.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/accordion_drag.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/accordion_parent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/alert_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/alert_check_box.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/alert_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/alert_line_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/favorites_bar_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_aaa.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_activeim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_buy_currency_html.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_device_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_first_time_tip.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_god_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_help_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_im_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_im_session.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_import_collada.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_incoming_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_media_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_model_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_notification.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_notifications_console.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_outfit_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_outgoing_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_post_process.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_price_for_listing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_publish_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_script.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_script_debug_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_script_limits.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_sys_well.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_checkbox.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_combobox.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_inspectors.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_line_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_list_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_radiogroup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_slider.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_spinner.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_textbox.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_test_widgets.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_ui_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_voice_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_wearable_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_whitelist_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_window_size.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/fonts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/inspect_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/inspect_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/inspect_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/inspect_remote_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/inspect_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/inspector_info_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/main_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_add_wearable_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_attachment_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_attachment_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_avatar_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_avatar_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_cof_attachment.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_cof_body_part.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_cof_clothing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_cof_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_favorites.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_gesture_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_group_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_hide_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_im_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_imchiclet_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_imchiclet_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_inv_offer_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_notification_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_object_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_outfit_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_outfit_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_participant_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_people_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_people_groups_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_people_nearby.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_people_nearby_multiselect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_picks_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_place.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_place_add_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_places_gear_folder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_profile_overflow.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_save_outfit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_script_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_teleport_history_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_topinfobar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_agent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_http.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_objectim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_parcel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_slapp.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_url_teleport.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_wearing_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/menu_wearing_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/mime_types_linux.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/mime_types_mac.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/outfit_accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_active_object_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_activeim_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_avatar_tag.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_bodyparts_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_bottomtray_lite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_chat_header.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_chat_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_chat_separator.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_classified_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_classifieds_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_clothing_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_cof_wearables.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_alpha.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_eyes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_gloves.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_hair.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_jacket.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_pants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_pick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_shape.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_shirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_shoes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_skin.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_skirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_socks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_tattoo.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_underpants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_undershirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_edit_wearable.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_generic_tip.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_group_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_group_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_group_notify.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_im_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_instant_message.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_inventory_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_landmark_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_landmarks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_me.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_media_settings_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_media_settings_permissions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_media_settings_security.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_my_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_nearby_media.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_notes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_notification.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_notifications_channel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_online_status.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_online_status_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_outfit_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_outfits_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_outfits_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_outfits_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_outfits_wearing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_people.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_pick_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_pick_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_place_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_places.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_prim_media_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_profile_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_progress.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_region_general_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_script_ed.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_script_limits_my_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_script_limits_region_memory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_side_tray_tab_caption.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_stand_stop_flying.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_sys_well_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_teleport_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_topinfo_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_volume_pulldown.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/sidepanel_appearance.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/sidepanel_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/sidepanel_item_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/sidepanel_task_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/accordion.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/bodyparts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/chat_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/check_box.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/chiclet_offer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/chiclet_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/chiclet_script.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/color_swatch.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/combo_box.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/context_menu.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/drop_down.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/expandable_text.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/filter_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/flat_list_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/floater.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/flyout_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/folder_view_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/gesture_combo_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/group_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/inspector.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/inventory_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/line_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/list_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/loading_indicator.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/location_input.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/menu.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/menu_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/menu_item_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/menu_item_check.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/menu_item_separator.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/menu_item_tear_off.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/multi_slider.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/multi_slider_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/name_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/output_monitor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/panel_camera_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/progress_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/radio_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/radio_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/scroll_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/scroll_column_header.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/scroll_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/scroll_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/search_combo_box.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/search_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/simple_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/slider.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/slider_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/spinner.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/split_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/tab_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/talk_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/text.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/textbase.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/texture_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/toggleable_menu.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/tool_tip.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/ui_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/view_border.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/widgets/web_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/en/xui_version.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_activeim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_buy_currency_html.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_device_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_god_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_help_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_im_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_im_session.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_incoming_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_media_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_outfit_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_outgoing_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_post_process.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_gesture_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_gesture_shortcut.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_gesture_steps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_publish_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_script_debug_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_script_limits.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_sys_well.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_voice_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_wearable_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_whitelist_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_window_size.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/inspect_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/inspect_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/inspect_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/inspect_remote_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_attachment_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_attachment_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_avatar_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_avatar_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_cof_attachment.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_cof_body_part.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_cof_clothing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_cof_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_favorites.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_gesture_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_group_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_hide_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_im_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_imchiclet_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_imchiclet_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_imchiclet_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_inspect_object_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_inv_offer_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_notification_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_object_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_outfit_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_outfit_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_participant_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_people_friends_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_people_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_people_groups_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_people_nearby.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_people_nearby_multiselect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_people_nearby_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_people_recent_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_picks_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_place.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_place_add_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_places_gear_folder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_profile_overflow.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_save_outfit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_script_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_teleport_history_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_teleport_history_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_topinfobar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_agent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_http.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_objectim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_parcel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_slapp.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_url_teleport.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_wearing_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/menu_wearing_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/mime_types_linux.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/mime_types_mac.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/outfit_accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_active_object_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_body_parts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_bodyparts_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_bottomtray_lite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_classified_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_clothing_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_cof_wearables.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_alpha.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_eyes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_gloves.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_hair.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_jacket.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_pants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_pick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_shape.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_shirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_shoes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_skin.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_skirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_socks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_tattoo.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_underpants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_undershirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_edit_wearable.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_group_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_group_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_group_notify.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_im_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_inventory_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_landmark_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_landmarks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_me.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_media_settings_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_media_settings_permissions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_media_settings_security.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_my_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_nearby_chat_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_nearby_media.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_notes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_online_status.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_online_status_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_outfit_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_outfits_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_outfits_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_outfits_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_outfits_wearing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_people.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_pick_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_place_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_places.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_prim_media_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_profile_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_region_general_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_script_ed.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_script_limits_my_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_script_limits_region_memory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_side_tray_tab_caption.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_stand_stop_flying.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_teleport_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/sidepanel_appearance.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/sidepanel_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/sidepanel_item_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/sidepanel_task_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/es/xui_version.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_activeim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_buy_currency_html.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_device_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_first_time_tip.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_god_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_help_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_im_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_im_session.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_incoming_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_media_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_notification.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_notifications_console.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_outfit_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_outgoing_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_post_process.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_gesture_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_gesture_shortcut.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_gesture_steps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_publish_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_script_debug_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_script_limits.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_sys_well.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_voice_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_wearable_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_whitelist_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_window_size.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/fonts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/inspect_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/inspect_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/inspect_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/inspect_remote_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_attachment_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_attachment_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_avatar_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_avatar_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_cof_attachment.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_cof_body_part.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_cof_clothing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_cof_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_favorites.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_gesture_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_group_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_hide_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_im_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_imchiclet_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_imchiclet_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_imchiclet_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_inspect_object_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_inv_offer_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_notification_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_object_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_outfit_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_outfit_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_participant_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_people_friends_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_people_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_people_groups_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_people_nearby.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_people_nearby_multiselect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_people_nearby_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_people_recent_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_picks_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_place.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_place_add_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_places_gear_folder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_profile_overflow.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_save_outfit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_script_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_teleport_history_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_teleport_history_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_topinfobar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_agent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_http.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_objectim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_parcel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_slapp.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_url_teleport.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_wearing_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/menu_wearing_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/mime_types_linux.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/mime_types_mac.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/outfit_accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_active_object_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_activeim_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_adhoc_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_avatar_tag.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_body_parts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_bodyparts_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_bottomtray_lite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_chat_header.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_classified_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_clothing_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_cof_wearables.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_alpha.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_eyes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_gloves.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_hair.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_jacket.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_pants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_pick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_shape.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_shirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_shoes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_skin.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_skirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_socks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_underpants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_undershirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_edit_wearable.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_group_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_group_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_group_notify.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_im_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_instant_message.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_inventory_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_landmark_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_landmarks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_me.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_media_settings_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_media_settings_permissions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_media_settings_security.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_my_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_nearby_chat_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_nearby_media.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_notes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_notifications_channel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_online_status.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_online_status_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_outfit_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_outfits_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_outfits_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_outfits_wearing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_people.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_pick_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_place_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_places.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_prim_media_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_profile_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_region_general_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_script_ed.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_script_limits_my_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_script_limits_region_memory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_side_tray_tab_caption.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_sidetray_home_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_stand_stop_flying.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_sys_well_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_teleport_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/sidepanel_appearance.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/sidepanel_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/sidepanel_item_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/sidepanel_task_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/fr/xui_version.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_activeim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_buy_currency_html.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_device_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_god_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_help_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_im_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_im_session.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_incoming_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_media_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_outfit_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_outgoing_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_post_process.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_gesture_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_gesture_shortcut.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_gesture_steps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_publish_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_script_debug_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_script_limits.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_sys_well.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_voice_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_wearable_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_whitelist_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_window_size.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/inspect_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/inspect_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/inspect_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/inspect_remote_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_attachment_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_attachment_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_avatar_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_avatar_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_cof_attachment.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_cof_body_part.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_cof_clothing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_cof_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_favorites.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_gesture_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_group_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_hide_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_im_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_imchiclet_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_imchiclet_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_imchiclet_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_inspect_object_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_inv_offer_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_notification_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_object_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_outfit_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_outfit_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_participant_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_people_friends_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_people_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_people_groups_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_people_nearby.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_people_nearby_multiselect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_people_nearby_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_people_recent_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_picks_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_place.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_place_add_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_places_gear_folder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_profile_overflow.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_save_outfit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_script_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_teleport_history_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_teleport_history_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_topinfobar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_agent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_http.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_objectim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_parcel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_slapp.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_url_teleport.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_wearing_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/menu_wearing_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/mime_types_linux.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/mime_types_mac.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/outfit_accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_active_object_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_adhoc_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_body_parts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_bodyparts_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_bottomtray_lite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_classified_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_clothing_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_cof_wearables.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_alpha.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_eyes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_gloves.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_hair.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_jacket.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_pants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_pick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_shape.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_shirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_shoes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_skin.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_skirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_socks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_tattoo.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_underpants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_undershirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_edit_wearable.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_group_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_group_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_group_notify.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_im_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_inventory_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_landmark_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_landmarks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_me.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_media_settings_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_media_settings_permissions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_media_settings_security.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_my_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_nearby_chat_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_nearby_media.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_notes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_online_status.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_online_status_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_outfit_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_outfits_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_outfits_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_outfits_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_outfits_wearing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_people.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_pick_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_place_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_places.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_prim_media_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_profile_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_region_general_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_script_ed.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_script_limits_my_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_script_limits_region_memory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_side_tray_tab_caption.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_stand_stop_flying.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_teleport_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/sidepanel_appearance.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/sidepanel_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/sidepanel_item_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/sidepanel_task_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/it/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_activeim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_buy_currency_html.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_device_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_first_time_tip.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_god_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_help_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_im_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_im_session.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_incoming_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_media_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_notification.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_notifications_console.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_outfit_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_outgoing_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_post_process.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_gesture_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_gesture_shortcut.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_gesture_steps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_publish_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_script_debug_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_script_limits.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_sys_well.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_voice_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_wearable_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_whitelist_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_window_size.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/inspect_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/inspect_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/inspect_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/inspect_remote_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_attachment_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_attachment_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_avatar_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_avatar_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_cof_attachment.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_cof_body_part.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_cof_clothing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_cof_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_favorites.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_gesture_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_group_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_hide_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_im_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_imchiclet_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_imchiclet_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_imchiclet_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_inspect_object_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_inv_offer_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_notification_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_object_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_outfit_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_outfit_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_participant_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_people_friends_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_people_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_people_groups_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_people_nearby.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_people_nearby_multiselect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_people_nearby_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_people_recent_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_picks_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_place.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_place_add_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_places_gear_folder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_profile_overflow.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_save_outfit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_script_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_teleport_history_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_teleport_history_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_topinfobar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_agent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_http.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_objectim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_parcel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_slapp.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_url_teleport.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_wearing_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/menu_wearing_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/mime_types_linux.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/mime_types_mac.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/outfit_accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_active_object_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_activeim_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_adhoc_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_avatar_tag.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_body_parts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_bodyparts_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_bottomtray_lite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_chat_header.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_classified_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_clothing_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_cof_wearables.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_alpha.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_eyes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_gloves.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_hair.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_jacket.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_pants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_pick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_shape.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_shirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_shoes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_skin.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_skirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_socks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_underpants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_undershirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_edit_wearable.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_group_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_group_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_group_notify.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_im_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_instant_message.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_inventory_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_landmark_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_landmarks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_me.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_media_settings_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_media_settings_permissions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_media_settings_security.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_my_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_nearby_chat_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_nearby_media.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_notes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_notifications_channel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_online_status.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_online_status_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_outfit_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_outfits_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_outfits_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_outfits_wearing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_people.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_pick_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_place_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_places.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_prim_media_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_profile_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_region_general_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_script_ed.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_script_limits_my_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_script_limits_region_memory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_side_tray_tab_caption.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_sidetray_home_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_stand_stop_flying.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_sys_well_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_teleport_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/sidepanel_appearance.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/sidepanel_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/sidepanel_item_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/sidepanel_task_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/ja/xui_version.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_post_process.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/nl/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_activeim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_buy_currency_html.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_device_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_god_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_help_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_im_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_im_session.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_incoming_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_media_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_outfit_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_outgoing_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_post_process.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_gesture_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_gesture_shortcut.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_gesture_steps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_publish_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_script_debug_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_script_limits.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_sys_well.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_voice_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_whitelist_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_window_size.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/inspect_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/inspect_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/inspect_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/inspect_remote_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_attachment_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_attachment_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_avatar_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_avatar_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_cof_attachment.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_cof_body_part.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_cof_clothing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_cof_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_favorites.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_gesture_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_group_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_hide_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_im_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_imchiclet_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_imchiclet_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_imchiclet_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_inspect_avatar_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_inspect_object_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_inspect_self_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_inv_offer_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_notification_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_object_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_outfit_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_outfit_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_participant_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_people_friends_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_people_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_people_groups_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_people_nearby.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_people_nearby_multiselect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_people_nearby_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_people_recent_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_picks_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_place.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_place_add_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_places_gear_folder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_profile_overflow.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_save_outfit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_script_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_teleport_history_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_teleport_history_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_topinfobar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_agent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_http.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_objectim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_parcel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_slapp.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_url_teleport.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_wearing_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/menu_wearing_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/mime_types_linux.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/mime_types_mac.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/outfit_accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_active_object_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_adhoc_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_body_parts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_bodyparts_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_bottomtray_lite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_classified_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_clothing_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_cof_wearables.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_alpha.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_eyes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_gloves.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_hair.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_jacket.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_pants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_pick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_shape.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_shirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_shoes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_skin.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_skirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_socks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_underpants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_undershirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_edit_wearable.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_group_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_group_info_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_group_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_group_notify.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_im_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_inventory_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_landmark_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_landmarks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_me.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_media_settings_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_media_settings_security.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_my_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_nearby_chat_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_nearby_media.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_notes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_online_status.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_online_status_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_outfit_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_outfits_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_outfits_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_outfits_wearing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_people.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_pick_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_place_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_places.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_prim_media_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_profile_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_region_general_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_script_ed.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_script_limits_my_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_script_limits_region_memory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_side_tray_tab_caption.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_stand_stop_flying.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_teleport_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/sidepanel_appearance.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/sidepanel_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/sidepanel_item_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/sidepanel_task_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pl/xui_version.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_about.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_about_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_activeim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_animation_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_auction.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_avatar_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_avatar_textures.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_beacons.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_build_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_bulk_perms.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_bumps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_buy_contents.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_buy_currency.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_buy_currency_html.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_buy_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_buy_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_camera.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_choose_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_color_picker.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_critical.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_customize.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_day_cycle_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_device_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_env_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_font_test.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_god_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_hardware_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_help_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_hud.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_im.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_im_container.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_im_session.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_image_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_incoming_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_inspect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_inventory_view_finder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_joystick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_lagmeter.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_land_holdings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_lsl_guide.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_media_browser.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_media_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_mem_leaking.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_moveview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_mute_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_my_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_openobject.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_outfit_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_outgoing_call.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_pay.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_pay_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_perm_prefs.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_post_process.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_postcard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preferences.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_animation.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_event.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_gesture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_gesture_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_gesture_shortcut.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_gesture_steps.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_notecard.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_preview_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_publish_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_region_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_report_abuse.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_script_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_script_debug_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_script_limits.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_script_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_script_queue.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_script_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_search.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_select_key.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_sell_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_settings_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_snapshot.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_sound_preview.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_statistics.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_stats.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_sys_well.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_telehub.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_tools.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_top_objects.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_tos.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_url_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_voice_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_water.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_wearable_save_as.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_whitelist_entry.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_windlight_options.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_window_size.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/floater_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/inspect_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/inspect_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/inspect_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/inspect_remote_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/language_settings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_attachment_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_attachment_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_avatar_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_avatar_other.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_avatar_self.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_cof_attachment.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_cof_body_part.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_cof_clothing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_cof_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_favorites.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_gesture_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_group_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_hide_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_im_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_imchiclet_adhoc.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_imchiclet_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_imchiclet_p2p.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_inspect_object_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_inv_offer_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_inventory_add.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_land.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_mini_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_navbar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_notification_well_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_object.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_object_icon.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_outfit_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_outfit_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_participant_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_people_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_people_nearby.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_people_nearby_multiselect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_picks_plus.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_place.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_place_add_button.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_places_gear_folder.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_places_gear_landmark.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_profile_overflow.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_save_outfit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_script_chiclet.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_teleport_history_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_teleport_history_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_text_editor.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_topinfobar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_agent.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_group.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_http.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_objectim.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_parcel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_slapp.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_slurl.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_url_teleport.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_viewer.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_wearing_gear.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/menu_wearing_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/mime_types.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/mime_types_linux.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/mime_types_mac.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/notifications.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/outfit_accordion_tab.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_active_object_row.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_audio_device.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_avatar_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_block_list_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_body_parts_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_bodyparts_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_bottomtray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_bottomtray_lite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_classified_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_clothing_list_button_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_cof_wearables.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_deletable_wearable_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_dummy_clothing_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_alpha.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_classified.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_eyes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_gloves.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_hair.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_jacket.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_pants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_pick.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_shape.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_shirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_shoes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_skin.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_skirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_socks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_tattoo.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_underpants.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_edit_wearable.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_friends.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_group_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_group_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_group_invite.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_group_land_money.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_group_list_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_group_notices.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_group_notify.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_group_roles.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_groups.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_im_control_panel.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_inventory_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_landmark_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_landmarks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_login.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_main_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_me.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_media_settings_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_media_settings_security.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_my_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_navigation_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_nearby_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_nearby_chat_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_nearby_media.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_notes.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_online_status.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_online_status_toast.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_outfit_edit.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_outfits_inventory_gear_default.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_outfits_list.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_outfits_wearing.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_people.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_pick_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_picks.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_place_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_places.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_preferences_alerts.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_preferences_chat.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_preferences_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_preferences_setup.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_preferences_sound.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_prim_media_controls.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_profile.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_profile_view.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_region_covenant.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_region_debug.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_region_estate.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_region_general.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_region_general_layout.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_region_terrain.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_region_texture.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_script_ed.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_script_limits_my_avatar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_script_limits_region_memory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_scrolling_param.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_side_tray.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_side_tray_tab_caption.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_stand_stop_flying.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_status_bar.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_teleport_history.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_teleport_history_item.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_voice_effect.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/panel_world_map.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/role_actions.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/sidepanel_appearance.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/sidepanel_inventory.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/sidepanel_item_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/sidepanel_task_info.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/teleport_strings.xml mode change 100644 => 100755 indra/newview/skins/default/xui/pt/xui_version.xml mode change 100644 => 100755 indra/newview/skins/paths.xml mode change 100644 => 100755 indra/newview/tests/llagentaccess_test.cpp mode change 100644 => 100755 indra/newview/tests/llcapabilitylistener_test.cpp mode change 100644 => 100755 indra/newview/tests/lldateutil_test.cpp mode change 100644 => 100755 indra/newview/tests/lllogininstance_test.cpp mode change 100644 => 100755 indra/newview/tests/llmediadataclient_test.cpp mode change 100644 => 100755 indra/newview/tests/llsecapi_test.cpp mode change 100644 => 100755 indra/newview/tests/llsechandler_basic_test.cpp mode change 100644 => 100755 indra/newview/tests/llslurl_test.cpp mode change 100644 => 100755 indra/newview/tests/lltextureinfo_test.cpp mode change 100644 => 100755 indra/newview/tests/lltextureinfodetails_test.cpp mode change 100644 => 100755 indra/newview/tests/lltexturestatsuploader_test.cpp mode change 100644 => 100755 indra/newview/tests/llviewerhelputil_test.cpp mode change 100644 => 100755 indra/newview/tests/llviewernetwork_test.cpp mode change 100644 => 100755 indra/newview/tests/llworldmap_test.cpp mode change 100644 => 100755 indra/newview/tests/llworldmipmap_test.cpp mode change 100644 => 100755 indra/newview/tests/llxmlrpclistener_test.cpp mode change 100644 => 100755 indra/newview/tests/test_llxmlrpc_peer.py mode change 100644 => 100755 indra/newview/tr.lproj/language.txt mode change 100644 => 100755 indra/newview/uk.lproj/language.txt mode change 100644 => 100755 indra/newview/viewer_manifest.py mode change 100644 => 100755 indra/newview/zh-Hans.lproj/language.txt mode change 100644 => 100755 indra/test/CMakeLists.txt mode change 100644 => 100755 indra/test/blowfish.1.bin mode change 100644 => 100755 indra/test/blowfish.2.bin mode change 100644 => 100755 indra/test/blowfish.digits.txt mode change 100644 => 100755 indra/test/debug.h mode change 100644 => 100755 indra/test/io.cpp mode change 100644 => 100755 indra/test/llassetuploadqueue_tut.cpp mode change 100644 => 100755 indra/test/llblowfish_tut.cpp mode change 100644 => 100755 indra/test/llbuffer_tut.cpp mode change 100644 => 100755 indra/test/lldatapacker_tut.cpp mode change 100644 => 100755 indra/test/lldoubledispatch_tut.cpp mode change 100644 => 100755 indra/test/llevents_tut.cpp mode change 100644 => 100755 indra/test/llhttpclient_tut.cpp mode change 100644 => 100755 indra/test/llhttpdate_tut.cpp mode change 100644 => 100755 indra/test/llhttpnode_tut.cpp mode change 100644 => 100755 indra/test/lliohttpserver_tut.cpp mode change 100644 => 100755 indra/test/llmessageconfig_tut.cpp mode change 100644 => 100755 indra/test/llmessagetemplateparser_tut.cpp mode change 100644 => 100755 indra/test/llpermissions_tut.cpp mode change 100644 => 100755 indra/test/llpipeutil.cpp mode change 100644 => 100755 indra/test/llpipeutil.h mode change 100644 => 100755 indra/test/llsaleinfo_tut.cpp mode change 100644 => 100755 indra/test/llscriptresource_tut.cpp mode change 100644 => 100755 indra/test/llsd_new_tut.cpp mode change 100644 => 100755 indra/test/llsdmessagebuilder_tut.cpp mode change 100644 => 100755 indra/test/llsdmessagereader_tut.cpp mode change 100644 => 100755 indra/test/llsdtraits.h mode change 100644 => 100755 indra/test/llsdutil_tut.cpp mode change 100644 => 100755 indra/test/llservicebuilder_tut.cpp mode change 100644 => 100755 indra/test/llstreamtools_tut.cpp mode change 100644 => 100755 indra/test/lltemplatemessagebuilder_tut.cpp mode change 100644 => 100755 indra/test/lltimestampcache_tut.cpp mode change 100644 => 100755 indra/test/lltranscode_tut.cpp mode change 100644 => 100755 indra/test/lltut.cpp mode change 100644 => 100755 indra/test/lltut.h mode change 100644 => 100755 indra/test/lluserrelations_tut.cpp mode change 100644 => 100755 indra/test/lluuidhashmap_tut.cpp mode change 100644 => 100755 indra/test/llxorcipher_tut.cpp mode change 100644 => 100755 indra/test/message_tut.cpp mode change 100644 => 100755 indra/test/mock_http_client.cpp mode change 100644 => 100755 indra/test/mock_http_client.h mode change 100644 => 100755 indra/test/prim_linkability_tut.cpp mode change 100644 => 100755 indra/test/test.cpp mode change 100644 => 100755 indra/test/test.h mode change 100644 => 100755 indra/test/test_llmanifest.py mode change 100644 => 100755 indra/test_apps/llplugintest/CMakeLists.txt mode change 100644 => 100755 indra/test_apps/llplugintest/bookmarks.txt mode change 100644 => 100755 indra/test_apps/llplugintest/llmediaplugintest.cpp mode change 100644 => 100755 indra/test_apps/llplugintest/llmediaplugintest.h mode change 100644 => 100755 indra/tools/vstool/README.txt mode change 100644 => 100755 indra/tools/vstool/VSTool.csproj mode change 100644 => 100755 indra/tools/vstool/VSTool.sln mode change 100644 => 100755 indra/tools/vstool/main.cs mode change 100644 => 100755 indra/viewer_components/CMakeLists.txt mode change 100644 => 100755 indra/viewer_components/login/CMakeLists.txt mode change 100644 => 100755 indra/viewer_components/login/lllogin.cpp mode change 100644 => 100755 indra/viewer_components/login/lllogin.h mode change 100644 => 100755 indra/viewer_components/login/tests/lllogin_test.cpp mode change 100644 => 100755 indra/win_crash_logger/CMakeLists.txt mode change 100644 => 100755 indra/win_crash_logger/StdAfx.cpp mode change 100644 => 100755 indra/win_crash_logger/StdAfx.h mode change 100644 => 100755 indra/win_crash_logger/ll_icon.ico mode change 100644 => 100755 indra/win_crash_logger/llcrashloggerwindows.cpp mode change 100644 => 100755 indra/win_crash_logger/llcrashloggerwindows.h mode change 100644 => 100755 indra/win_crash_logger/resource.h mode change 100644 => 100755 indra/win_crash_logger/win_crash_logger.cpp mode change 100644 => 100755 indra/win_crash_logger/win_crash_logger.h mode change 100644 => 100755 indra/win_crash_logger/win_crash_logger.ico mode change 100644 => 100755 indra/win_crash_logger/win_crash_logger.rc mode change 100644 => 100755 indra/win_updater/CMakeLists.txt mode change 100644 => 100755 indra/win_updater/updater.cpp mode change 100644 => 100755 install.xml mode change 100644 => 100755 scripts/messages/message_template.msg mode change 100644 => 100755 scripts/setup-path.py mode change 100644 => 100755 scripts/template_verifier.py mode change 100644 => 100755 viewer-hg-convert.shamap (limited to 'indra/cmake') diff --git a/.hgignore b/.hgignore old mode 100644 new mode 100755 diff --git a/.hgtags b/.hgtags old mode 100644 new mode 100755 diff --git a/BuildParams b/BuildParams old mode 100644 new mode 100755 diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 diff --git a/doc/FLOSS-exception.txt b/doc/FLOSS-exception.txt old mode 100644 new mode 100755 diff --git a/doc/GPL-license.txt b/doc/GPL-license.txt old mode 100644 new mode 100755 diff --git a/doc/LICENSE-logos.txt b/doc/LICENSE-logos.txt old mode 100644 new mode 100755 diff --git a/doc/LICENSE-source.txt b/doc/LICENSE-source.txt old mode 100644 new mode 100755 diff --git a/doc/contributions.txt b/doc/contributions.txt old mode 100644 new mode 100755 diff --git a/doc/releasenotes-where.txt b/doc/releasenotes-where.txt old mode 100644 new mode 100755 diff --git a/etc/message.xml b/etc/message.xml old mode 100644 new mode 100755 diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Audio.cmake b/indra/cmake/Audio.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/BerkeleyDB.cmake b/indra/cmake/BerkeleyDB.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CARes.cmake b/indra/cmake/CARes.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CMakeCopyIfDifferent.cmake b/indra/cmake/CMakeCopyIfDifferent.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/cmake/CSharpMacros.cmake b/indra/cmake/CSharpMacros.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CURL.cmake b/indra/cmake/CURL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/CopyBackToSource.cmake b/indra/cmake/CopyBackToSource.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/DBusGlib.cmake b/indra/cmake/DBusGlib.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/DeploySharedLibs.cmake b/indra/cmake/DeploySharedLibs.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/DragDrop.cmake b/indra/cmake/DragDrop.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/ELFIO.cmake b/indra/cmake/ELFIO.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/EXPAT.cmake b/indra/cmake/EXPAT.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/ExamplePlugin.cmake b/indra/cmake/ExamplePlugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Externals.cmake b/indra/cmake/Externals.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FMOD.cmake b/indra/cmake/FMOD.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindAPR.cmake b/indra/cmake/FindAPR.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindBerkeleyDB.cmake b/indra/cmake/FindBerkeleyDB.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindCARes.cmake b/indra/cmake/FindCARes.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindELFIO.cmake b/indra/cmake/FindELFIO.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindGooglePerfTools.cmake b/indra/cmake/FindGooglePerfTools.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindMT.cmake b/indra/cmake/FindMT.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindMono.cmake b/indra/cmake/FindMono.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindMySQL.cmake b/indra/cmake/FindMySQL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindOpenJPEG.cmake b/indra/cmake/FindOpenJPEG.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindSCP.cmake b/indra/cmake/FindSCP.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindSVN.cmake b/indra/cmake/FindSVN.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FindXmlRpcEpi.cmake b/indra/cmake/FindXmlRpcEpi.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GStreamer010Plugin.cmake b/indra/cmake/GStreamer010Plugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GetPrerequisites_2_8.cmake b/indra/cmake/GetPrerequisites_2_8.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Glui.cmake b/indra/cmake/Glui.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Glut.cmake b/indra/cmake/Glut.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GoogleBreakpad.cmake b/indra/cmake/GoogleBreakpad.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake old mode 100644 new mode 100755 index ee231dcde6..dc6d013bf2 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -33,7 +33,7 @@ if (WINDOWS) endif (WINDOWS) if (USE_GOOGLE_PERFTOOLS) - set(TCMALLOC_FLAG -DLL_USE_TCMALLOC=1) + set(TCMALLOC_FLAG -ULL_USE_TCMALLOC=1) include_directories(${GOOGLE_PERFTOOLS_INCLUDE_DIR}) set(GOOGLE_PERFTOOLS_LIBRARIES ${TCMALLOC_LIBRARIES} ${STACKTRACE_LIBRARIES} ${PROFILER_LIBRARIES}) else (USE_GOOGLE_PERFTOOLS) diff --git a/indra/cmake/JPEG.cmake b/indra/cmake/JPEG.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLAudio.cmake b/indra/cmake/LLAudio.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLCharacter.cmake b/indra/cmake/LLCharacter.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLConvexDecomposition.cmake b/indra/cmake/LLConvexDecomposition.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLCrashLogger.cmake b/indra/cmake/LLCrashLogger.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLDatabase.cmake b/indra/cmake/LLDatabase.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLImage.cmake b/indra/cmake/LLImage.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLImageJ2COJ.cmake b/indra/cmake/LLImageJ2COJ.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLInventory.cmake b/indra/cmake/LLInventory.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLKDU.cmake b/indra/cmake/LLKDU.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLLogin.cmake b/indra/cmake/LLLogin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLMath.cmake b/indra/cmake/LLMath.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLMessage.cmake b/indra/cmake/LLMessage.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLPlugin.cmake b/indra/cmake/LLPlugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLRender.cmake b/indra/cmake/LLRender.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLScene.cmake b/indra/cmake/LLScene.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLSharedLibs.cmake b/indra/cmake/LLSharedLibs.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLTestCommand.cmake b/indra/cmake/LLTestCommand.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLUI.cmake b/indra/cmake/LLUI.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLVFS.cmake b/indra/cmake/LLVFS.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLXML.cmake b/indra/cmake/LLXML.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LLXUIXML.cmake b/indra/cmake/LLXUIXML.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/LScript.cmake b/indra/cmake/LScript.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/MediaPluginBase.cmake b/indra/cmake/MediaPluginBase.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/MonoDeps.cmake b/indra/cmake/MonoDeps.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/MonoEmbed.cmake b/indra/cmake/MonoEmbed.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/MySQL.cmake b/indra/cmake/MySQL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/OpenGL.cmake b/indra/cmake/OpenGL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/PluginAPI.cmake b/indra/cmake/PluginAPI.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Pth.cmake b/indra/cmake/Pth.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/PulseAudio.cmake b/indra/cmake/PulseAudio.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Python.cmake b/indra/cmake/Python.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/QuickTimePlugin.cmake b/indra/cmake/QuickTimePlugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/TemplateCheck.cmake b/indra/cmake/TemplateCheck.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Tut.cmake b/indra/cmake/Tut.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/UnixInstall.cmake b/indra/cmake/UnixInstall.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/WebKitLibPlugin.cmake b/indra/cmake/WebKitLibPlugin.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/XmlRpcEpi.cmake b/indra/cmake/XmlRpcEpi.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/ZLIB.cmake b/indra/cmake/ZLIB.cmake old mode 100644 new mode 100755 diff --git a/indra/cmake/cmake_dummy.cpp b/indra/cmake/cmake_dummy.cpp old mode 100644 new mode 100755 diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py old mode 100644 new mode 100755 diff --git a/indra/copy_win_scripts/CMakeLists.txt b/indra/copy_win_scripts/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/copy_win_scripts/start-client.py b/indra/copy_win_scripts/start-client.py old mode 100644 new mode 100755 diff --git a/indra/integration_tests/CMakeLists.txt b/indra/integration_tests/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/integration_tests/llui_libtest/CMakeLists.txt b/indra/integration_tests/llui_libtest/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/integration_tests/llui_libtest/llui_libtest.cpp b/indra/integration_tests/llui_libtest/llui_libtest.cpp old mode 100644 new mode 100755 diff --git a/indra/integration_tests/llui_libtest/llui_libtest.h b/indra/integration_tests/llui_libtest/llui_libtest.h old mode 100644 new mode 100755 diff --git a/indra/integration_tests/llui_libtest/llwidgetreg.cpp b/indra/integration_tests/llui_libtest/llwidgetreg.cpp old mode 100644 new mode 100755 diff --git a/indra/integration_tests/llui_libtest/llwidgetreg.h b/indra/integration_tests/llui_libtest/llwidgetreg.h old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/__init__.py b/indra/lib/python/indra/__init__.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/base/__init__.py b/indra/lib/python/indra/base/__init__.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/base/cllsd_test.py b/indra/lib/python/indra/base/cllsd_test.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/base/config.py b/indra/lib/python/indra/base/config.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/base/llsd.py b/indra/lib/python/indra/base/llsd.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/base/lluuid.py b/indra/lib/python/indra/base/lluuid.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/base/metrics.py b/indra/lib/python/indra/base/metrics.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/__init__.py b/indra/lib/python/indra/ipc/__init__.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/compatibility.py b/indra/lib/python/indra/ipc/compatibility.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/httputil.py b/indra/lib/python/indra/ipc/httputil.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/llmessage.py b/indra/lib/python/indra/ipc/llmessage.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/llsdhttp.py b/indra/lib/python/indra/ipc/llsdhttp.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/mysql_pool.py b/indra/lib/python/indra/ipc/mysql_pool.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/russ.py b/indra/lib/python/indra/ipc/russ.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/servicebuilder.py b/indra/lib/python/indra/ipc/servicebuilder.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/siesta.py b/indra/lib/python/indra/ipc/siesta.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/siesta_test.py b/indra/lib/python/indra/ipc/siesta_test.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/tokenstream.py b/indra/lib/python/indra/ipc/tokenstream.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/webdav.py b/indra/lib/python/indra/ipc/webdav.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/ipc/xml_rpc.py b/indra/lib/python/indra/ipc/xml_rpc.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/__init__.py b/indra/lib/python/indra/util/__init__.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/fastest_elementtree.py b/indra/lib/python/indra/util/fastest_elementtree.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/helpformatter.py b/indra/lib/python/indra/util/helpformatter.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/iterators.py b/indra/lib/python/indra/util/iterators.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/llmanifest.py b/indra/lib/python/indra/util/llmanifest.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/llsubprocess.py b/indra/lib/python/indra/util/llsubprocess.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/llversion.py b/indra/lib/python/indra/util/llversion.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/named_query.py b/indra/lib/python/indra/util/named_query.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/shutil2.py b/indra/lib/python/indra/util/shutil2.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/term.py b/indra/lib/python/indra/util/term.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/indra/util/test_win32_manifest.py b/indra/lib/python/indra/util/test_win32_manifest.py old mode 100644 new mode 100755 diff --git a/indra/lib/python/uuid.py b/indra/lib/python/uuid.py old mode 100644 new mode 100755 diff --git a/indra/linux_crash_logger/CMakeLists.txt b/indra/linux_crash_logger/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/linux_crash_logger/linux_crash_logger.cpp b/indra/linux_crash_logger/linux_crash_logger.cpp old mode 100644 new mode 100755 diff --git a/indra/linux_crash_logger/llcrashloggerlinux.cpp b/indra/linux_crash_logger/llcrashloggerlinux.cpp old mode 100644 new mode 100755 diff --git a/indra/linux_crash_logger/llcrashloggerlinux.h b/indra/linux_crash_logger/llcrashloggerlinux.h old mode 100644 new mode 100755 diff --git a/indra/linux_updater/CMakeLists.txt b/indra/linux_updater/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/linux_updater/linux_updater.cpp b/indra/linux_updater/linux_updater.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/CMakeLists.txt b/indra/llaudio/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llaudio/llaudiodecodemgr.cpp b/indra/llaudio/llaudiodecodemgr.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/llaudiodecodemgr.h b/indra/llaudio/llaudiodecodemgr.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/llaudioengine.h b/indra/llaudio/llaudioengine.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/llaudioengine_fmod.cpp b/indra/llaudio/llaudioengine_fmod.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/llaudioengine_fmod.h b/indra/llaudio/llaudioengine_fmod.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/llaudioengine_openal.cpp b/indra/llaudio/llaudioengine_openal.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/llaudioengine_openal.h b/indra/llaudio/llaudioengine_openal.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/lllistener.cpp b/indra/llaudio/lllistener.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/lllistener.h b/indra/llaudio/lllistener.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/lllistener_ds3d.h b/indra/llaudio/lllistener_ds3d.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/lllistener_fmod.cpp b/indra/llaudio/lllistener_fmod.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/lllistener_fmod.h b/indra/llaudio/lllistener_fmod.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/lllistener_openal.cpp b/indra/llaudio/lllistener_openal.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/lllistener_openal.h b/indra/llaudio/lllistener_openal.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/llstreamingaudio.h b/indra/llaudio/llstreamingaudio.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/llstreamingaudio_fmod.cpp b/indra/llaudio/llstreamingaudio_fmod.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/llstreamingaudio_fmod.h b/indra/llaudio/llstreamingaudio_fmod.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/llvorbisencode.cpp b/indra/llaudio/llvorbisencode.cpp old mode 100644 new mode 100755 diff --git a/indra/llaudio/llvorbisencode.h b/indra/llaudio/llvorbisencode.h old mode 100644 new mode 100755 diff --git a/indra/llaudio/llwindgen.h b/indra/llaudio/llwindgen.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/CMakeLists.txt b/indra/llcharacter/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llanimationstates.cpp b/indra/llcharacter/llanimationstates.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llanimationstates.h b/indra/llcharacter/llanimationstates.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llbvhconsts.h b/indra/llcharacter/llbvhconsts.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llbvhloader.cpp b/indra/llcharacter/llbvhloader.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llbvhloader.h b/indra/llcharacter/llbvhloader.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llcharacter.cpp b/indra/llcharacter/llcharacter.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llcharacter.h b/indra/llcharacter/llcharacter.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/lleditingmotion.cpp b/indra/llcharacter/lleditingmotion.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/lleditingmotion.h b/indra/llcharacter/lleditingmotion.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llgesture.cpp b/indra/llcharacter/llgesture.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llgesture.h b/indra/llcharacter/llgesture.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llhandmotion.cpp b/indra/llcharacter/llhandmotion.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llhandmotion.h b/indra/llcharacter/llhandmotion.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llheadrotmotion.cpp b/indra/llcharacter/llheadrotmotion.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llheadrotmotion.h b/indra/llcharacter/llheadrotmotion.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/lljoint.cpp b/indra/llcharacter/lljoint.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/lljoint.h b/indra/llcharacter/lljoint.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/lljointsolverrp3.cpp b/indra/llcharacter/lljointsolverrp3.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/lljointsolverrp3.h b/indra/llcharacter/lljointsolverrp3.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/lljointstate.h b/indra/llcharacter/lljointstate.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframefallmotion.cpp b/indra/llcharacter/llkeyframefallmotion.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframefallmotion.h b/indra/llcharacter/llkeyframefallmotion.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframemotion.h b/indra/llcharacter/llkeyframemotion.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframemotionparam.cpp b/indra/llcharacter/llkeyframemotionparam.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframemotionparam.h b/indra/llcharacter/llkeyframemotionparam.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframestandmotion.cpp b/indra/llcharacter/llkeyframestandmotion.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframestandmotion.h b/indra/llcharacter/llkeyframestandmotion.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframewalkmotion.cpp b/indra/llcharacter/llkeyframewalkmotion.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llkeyframewalkmotion.h b/indra/llcharacter/llkeyframewalkmotion.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llmotion.cpp b/indra/llcharacter/llmotion.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llmotion.h b/indra/llcharacter/llmotion.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llmotioncontroller.h b/indra/llcharacter/llmotioncontroller.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llmultigesture.cpp b/indra/llcharacter/llmultigesture.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llmultigesture.h b/indra/llcharacter/llmultigesture.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llpose.cpp b/indra/llcharacter/llpose.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llpose.h b/indra/llcharacter/llpose.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llstatemachine.cpp b/indra/llcharacter/llstatemachine.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llstatemachine.h b/indra/llcharacter/llstatemachine.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/lltargetingmotion.cpp b/indra/llcharacter/lltargetingmotion.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/lltargetingmotion.h b/indra/llcharacter/lltargetingmotion.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llvisualparam.cpp b/indra/llcharacter/llvisualparam.cpp old mode 100644 new mode 100755 diff --git a/indra/llcharacter/llvisualparam.h b/indra/llcharacter/llvisualparam.h old mode 100644 new mode 100755 diff --git a/indra/llcharacter/tests/lljoint_test.cpp b/indra/llcharacter/tests/lljoint_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llcommon/bitpack.cpp b/indra/llcommon/bitpack.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/bitpack.h b/indra/llcommon/bitpack.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/ctype_workaround.h b/indra/llcommon/ctype_workaround.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/doublelinkedlist.h b/indra/llcommon/doublelinkedlist.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/imageids.cpp b/indra/llcommon/imageids.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/imageids.h b/indra/llcommon/imageids.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/indra_constants.cpp b/indra/llcommon/indra_constants.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/is_approx_equal_fraction.h b/indra/llcommon/is_approx_equal_fraction.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/linden_common.h b/indra/llcommon/linden_common.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/linked_lists.h b/indra/llcommon/linked_lists.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/ll_template_cast.h b/indra/llcommon/ll_template_cast.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llagentconstants.h b/indra/llcommon/llagentconstants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llallocator.cpp b/indra/llcommon/llallocator.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llallocator.h b/indra/llcommon/llallocator.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llallocator_heap_profile.cpp b/indra/llcommon/llallocator_heap_profile.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llallocator_heap_profile.h b/indra/llcommon/llallocator_heap_profile.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llapp.h b/indra/llcommon/llapp.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llapr.cpp b/indra/llcommon/llapr.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llassettype.cpp b/indra/llcommon/llassettype.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llassettype.h b/indra/llcommon/llassettype.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llassoclist.h b/indra/llcommon/llassoclist.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llavatarconstants.h b/indra/llcommon/llavatarconstants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llbase32.cpp b/indra/llcommon/llbase32.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llbase32.h b/indra/llcommon/llbase32.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llbase64.cpp b/indra/llcommon/llbase64.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llbase64.h b/indra/llcommon/llbase64.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llboost.h b/indra/llcommon/llboost.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llchat.h b/indra/llcommon/llchat.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llclickaction.h b/indra/llcommon/llclickaction.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcommon.cpp b/indra/llcommon/llcommon.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcommon.h b/indra/llcommon/llcommon.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcommonutils.cpp b/indra/llcommon/llcommonutils.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcommonutils.h b/indra/llcommon/llcommonutils.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcoros.cpp b/indra/llcommon/llcoros.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcoros.h b/indra/llcommon/llcoros.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcrc.cpp b/indra/llcommon/llcrc.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcrc.h b/indra/llcommon/llcrc.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcriticaldamp.cpp b/indra/llcommon/llcriticaldamp.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcriticaldamp.h b/indra/llcommon/llcriticaldamp.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcursortypes.cpp b/indra/llcommon/llcursortypes.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llcursortypes.h b/indra/llcommon/llcursortypes.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldarray.h b/indra/llcommon/lldarray.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldarrayptr.h b/indra/llcommon/lldarrayptr.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldate.cpp b/indra/llcommon/lldate.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldate.h b/indra/llcommon/lldate.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldefs.h b/indra/llcommon/lldefs.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldeleteutils.h b/indra/llcommon/lldeleteutils.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldependencies.cpp b/indra/llcommon/lldependencies.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldependencies.h b/indra/llcommon/lldependencies.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldepthstack.h b/indra/llcommon/lldepthstack.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldictionary.cpp b/indra/llcommon/lldictionary.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldictionary.h b/indra/llcommon/lldictionary.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldlinked.h b/indra/llcommon/lldlinked.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldoubledispatch.h b/indra/llcommon/lldoubledispatch.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lldqueueptr.h b/indra/llcommon/lldqueueptr.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llendianswizzle.h b/indra/llcommon/llendianswizzle.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llenum.h b/indra/llcommon/llenum.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerrorcontrol.h b/indra/llcommon/llerrorcontrol.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerrorlegacy.h b/indra/llcommon/llerrorlegacy.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerrorthread.cpp b/indra/llcommon/llerrorthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llerrorthread.h b/indra/llcommon/llerrorthread.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llevent.cpp b/indra/llcommon/llevent.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llevent.h b/indra/llcommon/llevent.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventapi.cpp b/indra/llcommon/lleventapi.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventapi.h b/indra/llcommon/lleventapi.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventcoro.cpp b/indra/llcommon/lleventcoro.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventcoro.h b/indra/llcommon/lleventcoro.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventdispatcher.cpp b/indra/llcommon/lleventdispatcher.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventdispatcher.h b/indra/llcommon/lleventdispatcher.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventemitter.h b/indra/llcommon/lleventemitter.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventfilter.cpp b/indra/llcommon/lleventfilter.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventfilter.h b/indra/llcommon/lleventfilter.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llevents.cpp b/indra/llcommon/llevents.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llevents.h b/indra/llcommon/llevents.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventtimer.cpp b/indra/llcommon/lleventtimer.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lleventtimer.h b/indra/llcommon/lleventtimer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llextendedstatus.h b/indra/llcommon/llextendedstatus.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfasttimer.h b/indra/llcommon/llfasttimer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfasttimer_class.cpp b/indra/llcommon/llfasttimer_class.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfasttimer_class.h b/indra/llcommon/llfasttimer_class.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfile.h b/indra/llcommon/llfile.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfindlocale.cpp b/indra/llcommon/llfindlocale.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfindlocale.h b/indra/llcommon/llfindlocale.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfixedbuffer.cpp b/indra/llcommon/llfixedbuffer.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfixedbuffer.h b/indra/llcommon/llfixedbuffer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfoldertype.cpp b/indra/llcommon/llfoldertype.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llfoldertype.h b/indra/llcommon/llfoldertype.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llformat.cpp b/indra/llcommon/llformat.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llformat.h b/indra/llcommon/llformat.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llframetimer.cpp b/indra/llcommon/llframetimer.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llframetimer.h b/indra/llcommon/llframetimer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llhash.h b/indra/llcommon/llhash.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llheartbeat.cpp b/indra/llcommon/llheartbeat.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llheartbeat.h b/indra/llcommon/llheartbeat.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llhttpstatuscodes.h b/indra/llcommon/llhttpstatuscodes.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llindexedqueue.h b/indra/llcommon/llindexedqueue.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llinstancetracker.cpp b/indra/llcommon/llinstancetracker.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llinstancetracker.h b/indra/llcommon/llinstancetracker.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llkeythrottle.h b/indra/llcommon/llkeythrottle.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llkeyusetracker.h b/indra/llcommon/llkeyusetracker.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllazy.cpp b/indra/llcommon/lllazy.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllazy.h b/indra/llcommon/lllazy.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllinkedqueue.h b/indra/llcommon/lllinkedqueue.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllistenerwrapper.h b/indra/llcommon/lllistenerwrapper.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llliveappconfig.cpp b/indra/llcommon/llliveappconfig.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llliveappconfig.h b/indra/llcommon/llliveappconfig.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllivefile.cpp b/indra/llcommon/lllivefile.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllivefile.h b/indra/llcommon/lllivefile.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllocalidhashmap.h b/indra/llcommon/lllocalidhashmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllog.cpp b/indra/llcommon/lllog.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllog.h b/indra/llcommon/lllog.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lllslconstants.h b/indra/llcommon/lllslconstants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmap.h b/indra/llcommon/llmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmd5.cpp b/indra/llcommon/llmd5.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmd5.h b/indra/llcommon/llmd5.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemorystream.cpp b/indra/llcommon/llmemorystream.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemorystream.h b/indra/llcommon/llmemorystream.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemtype.cpp b/indra/llcommon/llmemtype.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmemtype.h b/indra/llcommon/llmemtype.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmetrics.cpp b/indra/llcommon/llmetrics.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmetrics.h b/indra/llcommon/llmetrics.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmortician.cpp b/indra/llcommon/llmortician.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llmortician.h b/indra/llcommon/llmortician.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llnametable.h b/indra/llcommon/llnametable.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lloptioninterface.cpp b/indra/llcommon/lloptioninterface.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lloptioninterface.h b/indra/llcommon/lloptioninterface.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llpointer.h b/indra/llcommon/llpointer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llpreprocessor.h b/indra/llcommon/llpreprocessor.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llpriqueuemap.h b/indra/llcommon/llpriqueuemap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llprocesslauncher.cpp b/indra/llcommon/llprocesslauncher.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llprocesslauncher.h b/indra/llcommon/llprocesslauncher.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llprocessor.cpp b/indra/llcommon/llprocessor.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llprocessor.h b/indra/llcommon/llprocessor.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llptrskiplist.h b/indra/llcommon/llptrskiplist.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llptrskipmap.h b/indra/llcommon/llptrskipmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llptrto.cpp b/indra/llcommon/llptrto.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llptrto.h b/indra/llcommon/llptrto.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llqueuedthread.cpp b/indra/llcommon/llqueuedthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llqueuedthread.h b/indra/llcommon/llqueuedthread.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrand.cpp b/indra/llcommon/llrand.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrand.h b/indra/llcommon/llrand.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrefcount.cpp b/indra/llcommon/llrefcount.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrefcount.h b/indra/llcommon/llrefcount.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrun.cpp b/indra/llcommon/llrun.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llrun.h b/indra/llcommon/llrun.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsafehandle.h b/indra/llcommon/llsafehandle.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsd.cpp b/indra/llcommon/llsd.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsd.h b/indra/llcommon/llsd.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdserialize.cpp b/indra/llcommon/llsdserialize.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdserialize.h b/indra/llcommon/llsdserialize.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdserialize_xml.cpp b/indra/llcommon/llsdserialize_xml.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdserialize_xml.h b/indra/llcommon/llsdserialize_xml.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsdutil.h b/indra/llcommon/llsdutil.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsecondlifeurls.cpp b/indra/llcommon/llsecondlifeurls.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsecondlifeurls.h b/indra/llcommon/llsecondlifeurls.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsimplehash.h b/indra/llcommon/llsimplehash.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsingleton.cpp b/indra/llcommon/llsingleton.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsingleton.h b/indra/llcommon/llsingleton.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llskiplist.h b/indra/llcommon/llskiplist.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llskipmap.h b/indra/llcommon/llskipmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsmoothstep.h b/indra/llcommon/llsmoothstep.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstack.h b/indra/llcommon/llstack.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstacktrace.cpp b/indra/llcommon/llstacktrace.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstacktrace.h b/indra/llcommon/llstacktrace.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstat.cpp b/indra/llcommon/llstat.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstat.h b/indra/llcommon/llstat.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstatenums.h b/indra/llcommon/llstatenums.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstl.h b/indra/llcommon/llstl.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstreamtools.cpp b/indra/llcommon/llstreamtools.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstreamtools.h b/indra/llcommon/llstreamtools.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstrider.h b/indra/llcommon/llstrider.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstring.cpp b/indra/llcommon/llstring.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstringtable.cpp b/indra/llcommon/llstringtable.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llstringtable.h b/indra/llcommon/llstringtable.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llsys.h b/indra/llcommon/llsys.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llthread.h b/indra/llcommon/llthread.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lltimer.cpp b/indra/llcommon/lltimer.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lltimer.h b/indra/llcommon/lltimer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lltreeiterators.h b/indra/llcommon/lltreeiterators.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluri.cpp b/indra/llcommon/lluri.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluri.h b/indra/llcommon/lluri.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluuid.cpp b/indra/llcommon/lluuid.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluuid.h b/indra/llcommon/lluuid.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/lluuidhashmap.h b/indra/llcommon/lluuidhashmap.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llversionserver.h b/indra/llcommon/llversionserver.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/llworkerthread.cpp b/indra/llcommon/llworkerthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/llworkerthread.h b/indra/llcommon/llworkerthread.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaclass.cpp b/indra/llcommon/metaclass.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaclass.h b/indra/llcommon/metaclass.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaclasst.h b/indra/llcommon/metaclasst.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaproperty.cpp b/indra/llcommon/metaproperty.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/metaproperty.h b/indra/llcommon/metaproperty.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/metapropertyt.h b/indra/llcommon/metapropertyt.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/reflective.cpp b/indra/llcommon/reflective.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/reflective.h b/indra/llcommon/reflective.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/reflectivet.h b/indra/llcommon/reflectivet.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/roles_constants.h b/indra/llcommon/roles_constants.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/stdenums.h b/indra/llcommon/stdenums.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/stdtypes.h b/indra/llcommon/stdtypes.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/string_table.h b/indra/llcommon/string_table.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/stringize.h b/indra/llcommon/stringize.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/bitpack_test.cpp b/indra/llcommon/tests/bitpack_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/commonmisc_test.cpp b/indra/llcommon/tests/commonmisc_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/listener.h b/indra/llcommon/tests/listener.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llallocator_heap_profile_test.cpp b/indra/llcommon/tests/llallocator_heap_profile_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llallocator_test.cpp b/indra/llcommon/tests/llallocator_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llbase64_test.cpp b/indra/llcommon/tests/llbase64_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lldate_test.cpp b/indra/llcommon/tests/lldate_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lldependencies_test.cpp b/indra/llcommon/tests/lldependencies_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llerror_test.cpp b/indra/llcommon/tests/llerror_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lleventcoro_test.cpp b/indra/llcommon/tests/lleventcoro_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lleventfilter_test.cpp b/indra/llcommon/tests/lleventfilter_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llframetimer_test.cpp b/indra/llcommon/tests/llframetimer_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llinstancetracker_test.cpp b/indra/llcommon/tests/llinstancetracker_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lllazy_test.cpp b/indra/llcommon/tests/lllazy_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llmemtype_test.cpp b/indra/llcommon/tests/llmemtype_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llprocessor_test.cpp b/indra/llcommon/tests/llprocessor_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llrand_test.cpp b/indra/llcommon/tests/llrand_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llsdserialize_test.cpp b/indra/llcommon/tests/llsdserialize_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/llstring_test.cpp b/indra/llcommon/tests/llstring_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lltreeiterators_test.cpp b/indra/llcommon/tests/lltreeiterators_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/lluri_test.cpp b/indra/llcommon/tests/lluri_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/reflection_test.cpp b/indra/llcommon/tests/reflection_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/stringize_test.cpp b/indra/llcommon/tests/stringize_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/tests/wrapllerrs.h b/indra/llcommon/tests/wrapllerrs.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/timer.h b/indra/llcommon/timer.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/timing.cpp b/indra/llcommon/timing.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/timing.h b/indra/llcommon/timing.h old mode 100644 new mode 100755 diff --git a/indra/llcommon/u64.cpp b/indra/llcommon/u64.cpp old mode 100644 new mode 100755 diff --git a/indra/llcommon/u64.h b/indra/llcommon/u64.h old mode 100644 new mode 100755 diff --git a/indra/llcrashlogger/CMakeLists.txt b/indra/llcrashlogger/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llcrashlogger/llcrashlogger.cpp b/indra/llcrashlogger/llcrashlogger.cpp old mode 100644 new mode 100755 diff --git a/indra/llcrashlogger/llcrashlogger.h b/indra/llcrashlogger/llcrashlogger.h old mode 100644 new mode 100755 diff --git a/indra/llimage/CMakeLists.txt b/indra/llimage/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llimage.h b/indra/llimage/llimage.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagebmp.cpp b/indra/llimage/llimagebmp.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagebmp.h b/indra/llimage/llimagebmp.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagedimensionsinfo.cpp b/indra/llimage/llimagedimensionsinfo.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagedimensionsinfo.h b/indra/llimage/llimagedimensionsinfo.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagedxt.cpp b/indra/llimage/llimagedxt.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagedxt.h b/indra/llimage/llimagedxt.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagej2c.cpp b/indra/llimage/llimagej2c.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagej2c.h b/indra/llimage/llimagej2c.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagejpeg.cpp b/indra/llimage/llimagejpeg.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagejpeg.h b/indra/llimage/llimagejpeg.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagepng.cpp b/indra/llimage/llimagepng.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagepng.h b/indra/llimage/llimagepng.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagetga.cpp b/indra/llimage/llimagetga.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llimagetga.h b/indra/llimage/llimagetga.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llimageworker.cpp b/indra/llimage/llimageworker.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llimageworker.h b/indra/llimage/llimageworker.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llmapimagetype.h b/indra/llimage/llmapimagetype.h old mode 100644 new mode 100755 diff --git a/indra/llimage/llpngwrapper.cpp b/indra/llimage/llpngwrapper.cpp old mode 100644 new mode 100755 diff --git a/indra/llimage/llpngwrapper.h b/indra/llimage/llpngwrapper.h old mode 100644 new mode 100755 diff --git a/indra/llimage/tests/llimageworker_test.cpp b/indra/llimage/tests/llimageworker_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llimagej2coj/CMakeLists.txt b/indra/llimagej2coj/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llimagej2coj/llimagej2coj.cpp b/indra/llimagej2coj/llimagej2coj.cpp old mode 100644 new mode 100755 diff --git a/indra/llimagej2coj/llimagej2coj.h b/indra/llimagej2coj/llimagej2coj.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/CMakeLists.txt b/indra/llinventory/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llinventory/llcategory.cpp b/indra/llinventory/llcategory.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/llcategory.h b/indra/llinventory/llcategory.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/lleconomy.cpp b/indra/llinventory/lleconomy.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/lleconomy.h b/indra/llinventory/lleconomy.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/llinventory.cpp b/indra/llinventory/llinventory.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/llinventory.h b/indra/llinventory/llinventory.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/llinventorydefines.cpp b/indra/llinventory/llinventorydefines.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/llinventorydefines.h b/indra/llinventory/llinventorydefines.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/llinventorytype.cpp b/indra/llinventory/llinventorytype.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/llinventorytype.h b/indra/llinventory/llinventorytype.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/lllandmark.cpp b/indra/llinventory/lllandmark.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/lllandmark.h b/indra/llinventory/lllandmark.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/llnotecard.cpp b/indra/llinventory/llnotecard.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/llnotecard.h b/indra/llinventory/llnotecard.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/llparcelflags.h b/indra/llinventory/llparcelflags.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/llpermissions.cpp b/indra/llinventory/llpermissions.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/llpermissions.h b/indra/llinventory/llpermissions.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/llpermissionsflags.h b/indra/llinventory/llpermissionsflags.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/llsaleinfo.cpp b/indra/llinventory/llsaleinfo.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/llsaleinfo.h b/indra/llinventory/llsaleinfo.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/lltransactionflags.cpp b/indra/llinventory/lltransactionflags.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/lltransactionflags.h b/indra/llinventory/lltransactionflags.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/lltransactiontypes.h b/indra/llinventory/lltransactiontypes.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/lluserrelations.cpp b/indra/llinventory/lluserrelations.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/lluserrelations.h b/indra/llinventory/lluserrelations.h old mode 100644 new mode 100755 diff --git a/indra/llinventory/tests/inventorymisc_test.cpp b/indra/llinventory/tests/inventorymisc_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llinventory/tests/llparcel_test.cpp b/indra/llinventory/tests/llparcel_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llmath/camera.h b/indra/llmath/camera.h old mode 100644 new mode 100755 diff --git a/indra/llmath/coordframe.h b/indra/llmath/coordframe.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llbbox.cpp b/indra/llmath/llbbox.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llbbox.h b/indra/llmath/llbbox.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llbboxlocal.cpp b/indra/llmath/llbboxlocal.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llbboxlocal.h b/indra/llmath/llbboxlocal.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llcamera.cpp b/indra/llmath/llcamera.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llcamera.h b/indra/llmath/llcamera.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llcoord.h b/indra/llmath/llcoord.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llcoordframe.cpp b/indra/llmath/llcoordframe.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llcoordframe.h b/indra/llmath/llcoordframe.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llinterp.h b/indra/llmath/llinterp.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llline.cpp b/indra/llmath/llline.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llline.h b/indra/llmath/llline.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llmath.h b/indra/llmath/llmath.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llmatrix3a.cpp b/indra/llmath/llmatrix3a.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llmatrix3a.h b/indra/llmath/llmatrix3a.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llmatrix3a.inl b/indra/llmath/llmatrix3a.inl old mode 100644 new mode 100755 diff --git a/indra/llmath/llmatrix4a.h b/indra/llmath/llmatrix4a.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llmodularmath.cpp b/indra/llmath/llmodularmath.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llmodularmath.h b/indra/llmath/llmodularmath.h old mode 100644 new mode 100755 diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llperlin.cpp b/indra/llmath/llperlin.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llperlin.h b/indra/llmath/llperlin.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llplane.h b/indra/llmath/llplane.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llquantize.h b/indra/llmath/llquantize.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llquaternion.cpp b/indra/llmath/llquaternion.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llquaternion.h b/indra/llmath/llquaternion.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llquaternion2.h b/indra/llmath/llquaternion2.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llquaternion2.inl b/indra/llmath/llquaternion2.inl old mode 100644 new mode 100755 diff --git a/indra/llmath/llrect.cpp b/indra/llmath/llrect.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llrect.h b/indra/llmath/llrect.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llsdutil_math.cpp b/indra/llmath/llsdutil_math.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llsdutil_math.h b/indra/llmath/llsdutil_math.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llsimdmath.h b/indra/llmath/llsimdmath.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llsimdtypes.h b/indra/llmath/llsimdtypes.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llsimdtypes.inl b/indra/llmath/llsimdtypes.inl old mode 100644 new mode 100755 diff --git a/indra/llmath/llsphere.cpp b/indra/llmath/llsphere.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llsphere.h b/indra/llmath/llsphere.h old mode 100644 new mode 100755 diff --git a/indra/llmath/lltreenode.h b/indra/llmath/lltreenode.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llv4math.h b/indra/llmath/llv4math.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llv4matrix3.h b/indra/llmath/llv4matrix3.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llv4matrix4.h b/indra/llmath/llv4matrix4.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llv4vector3.h b/indra/llmath/llv4vector3.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llvector4a.cpp b/indra/llmath/llvector4a.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llvector4a.h b/indra/llmath/llvector4a.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llvector4a.inl b/indra/llmath/llvector4a.inl old mode 100644 new mode 100755 diff --git a/indra/llmath/llvector4logical.h b/indra/llmath/llvector4logical.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llvolumemgr.cpp b/indra/llmath/llvolumemgr.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llvolumemgr.h b/indra/llmath/llvolumemgr.h old mode 100644 new mode 100755 diff --git a/indra/llmath/llvolumeoctree.cpp b/indra/llmath/llvolumeoctree.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/llvolumeoctree.h b/indra/llmath/llvolumeoctree.h old mode 100644 new mode 100755 diff --git a/indra/llmath/m3math.cpp b/indra/llmath/m3math.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/m3math.h b/indra/llmath/m3math.h old mode 100644 new mode 100755 diff --git a/indra/llmath/m4math.cpp b/indra/llmath/m4math.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/m4math.h b/indra/llmath/m4math.h old mode 100644 new mode 100755 diff --git a/indra/llmath/raytrace.cpp b/indra/llmath/raytrace.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/raytrace.h b/indra/llmath/raytrace.h old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/llbbox_test.cpp b/indra/llmath/tests/llbbox_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/llbboxlocal_test.cpp b/indra/llmath/tests/llbboxlocal_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/llmodularmath_test.cpp b/indra/llmath/tests/llmodularmath_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/llquaternion_test.cpp b/indra/llmath/tests/llquaternion_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/llrect_test.cpp b/indra/llmath/tests/llrect_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/m3math_test.cpp b/indra/llmath/tests/m3math_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/mathmisc_test.cpp b/indra/llmath/tests/mathmisc_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/v2math_test.cpp b/indra/llmath/tests/v2math_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/v3color_test.cpp b/indra/llmath/tests/v3color_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/v3dmath_test.cpp b/indra/llmath/tests/v3dmath_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/v3math_test.cpp b/indra/llmath/tests/v3math_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/v4color_test.cpp b/indra/llmath/tests/v4color_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/v4coloru_test.cpp b/indra/llmath/tests/v4coloru_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/v4math_test.cpp b/indra/llmath/tests/v4math_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/tests/xform_test.cpp b/indra/llmath/tests/xform_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/v2math.cpp b/indra/llmath/v2math.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/v2math.h b/indra/llmath/v2math.h old mode 100644 new mode 100755 diff --git a/indra/llmath/v3color.cpp b/indra/llmath/v3color.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/v3color.h b/indra/llmath/v3color.h old mode 100644 new mode 100755 diff --git a/indra/llmath/v3dmath.cpp b/indra/llmath/v3dmath.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/v3dmath.h b/indra/llmath/v3dmath.h old mode 100644 new mode 100755 diff --git a/indra/llmath/v3math.cpp b/indra/llmath/v3math.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/v3math.h b/indra/llmath/v3math.h old mode 100644 new mode 100755 diff --git a/indra/llmath/v4color.cpp b/indra/llmath/v4color.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/v4color.h b/indra/llmath/v4color.h old mode 100644 new mode 100755 diff --git a/indra/llmath/v4coloru.cpp b/indra/llmath/v4coloru.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/v4coloru.h b/indra/llmath/v4coloru.h old mode 100644 new mode 100755 diff --git a/indra/llmath/v4math.cpp b/indra/llmath/v4math.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/v4math.h b/indra/llmath/v4math.h old mode 100644 new mode 100755 diff --git a/indra/llmath/xform.cpp b/indra/llmath/xform.cpp old mode 100644 new mode 100755 diff --git a/indra/llmath/xform.h b/indra/llmath/xform.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/CMakeLists.txt b/indra/llmessage/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llmessage/llares.cpp b/indra/llmessage/llares.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llares.h b/indra/llmessage/llares.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llareslistener.cpp b/indra/llmessage/llareslistener.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llareslistener.h b/indra/llmessage/llareslistener.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llassetstorage.cpp b/indra/llmessage/llassetstorage.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llassetstorage.h b/indra/llmessage/llassetstorage.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llblowfishcipher.cpp b/indra/llmessage/llblowfishcipher.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llblowfishcipher.h b/indra/llmessage/llblowfishcipher.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llbuffer.cpp b/indra/llmessage/llbuffer.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llbuffer.h b/indra/llmessage/llbuffer.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llbufferstream.cpp b/indra/llmessage/llbufferstream.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llbufferstream.h b/indra/llmessage/llbufferstream.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llcachename.cpp b/indra/llmessage/llcachename.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llcachename.h b/indra/llmessage/llcachename.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llchainio.cpp b/indra/llmessage/llchainio.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llchainio.h b/indra/llmessage/llchainio.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llcipher.h b/indra/llmessage/llcipher.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llcircuit.cpp b/indra/llmessage/llcircuit.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llcircuit.h b/indra/llmessage/llcircuit.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llclassifiedflags.cpp b/indra/llmessage/llclassifiedflags.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llclassifiedflags.h b/indra/llmessage/llclassifiedflags.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llcurl.h b/indra/llmessage/llcurl.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lldatapacker.cpp b/indra/llmessage/lldatapacker.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lldatapacker.h b/indra/llmessage/lldatapacker.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lldbstrings.h b/indra/llmessage/lldbstrings.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lldispatcher.cpp b/indra/llmessage/lldispatcher.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lldispatcher.h b/indra/llmessage/lldispatcher.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lleventflags.h b/indra/llmessage/lleventflags.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llfiltersd2xmlrpc.cpp b/indra/llmessage/llfiltersd2xmlrpc.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llfiltersd2xmlrpc.h b/indra/llmessage/llfiltersd2xmlrpc.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llfollowcamparams.h b/indra/llmessage/llfollowcamparams.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhost.cpp b/indra/llmessage/llhost.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhost.h b/indra/llmessage/llhost.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpassetstorage.cpp b/indra/llmessage/llhttpassetstorage.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpassetstorage.h b/indra/llmessage/llhttpassetstorage.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpclient.cpp b/indra/llmessage/llhttpclient.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpclient.h b/indra/llmessage/llhttpclient.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpclientadapter.cpp b/indra/llmessage/llhttpclientadapter.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpclientadapter.h b/indra/llmessage/llhttpclientadapter.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpclientinterface.h b/indra/llmessage/llhttpclientinterface.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpnode.cpp b/indra/llmessage/llhttpnode.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpnode.h b/indra/llmessage/llhttpnode.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpnodeadapter.h b/indra/llmessage/llhttpnodeadapter.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpsender.cpp b/indra/llmessage/llhttpsender.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llhttpsender.h b/indra/llmessage/llhttpsender.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llinstantmessage.cpp b/indra/llmessage/llinstantmessage.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llinstantmessage.h b/indra/llmessage/llinstantmessage.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llinvite.h b/indra/llmessage/llinvite.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lliobuffer.cpp b/indra/llmessage/lliobuffer.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lliobuffer.h b/indra/llmessage/lliobuffer.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lliohttpserver.cpp b/indra/llmessage/lliohttpserver.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lliohttpserver.h b/indra/llmessage/lliohttpserver.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lliopipe.cpp b/indra/llmessage/lliopipe.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lliopipe.h b/indra/llmessage/lliopipe.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lliosocket.cpp b/indra/llmessage/lliosocket.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lliosocket.h b/indra/llmessage/lliosocket.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llioutil.cpp b/indra/llmessage/llioutil.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llioutil.h b/indra/llmessage/llioutil.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llloginflags.h b/indra/llmessage/llloginflags.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmail.cpp b/indra/llmessage/llmail.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmail.h b/indra/llmessage/llmail.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagebuilder.cpp b/indra/llmessage/llmessagebuilder.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagebuilder.h b/indra/llmessage/llmessagebuilder.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessageconfig.cpp b/indra/llmessage/llmessageconfig.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessageconfig.h b/indra/llmessage/llmessageconfig.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagereader.cpp b/indra/llmessage/llmessagereader.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagereader.h b/indra/llmessage/llmessagereader.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagesenderinterface.h b/indra/llmessage/llmessagesenderinterface.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagetemplate.cpp b/indra/llmessage/llmessagetemplate.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagetemplate.h b/indra/llmessage/llmessagetemplate.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagetemplateparser.cpp b/indra/llmessage/llmessagetemplateparser.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagetemplateparser.h b/indra/llmessage/llmessagetemplateparser.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagethrottle.cpp b/indra/llmessage/llmessagethrottle.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmessagethrottle.h b/indra/llmessage/llmessagethrottle.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmime.cpp b/indra/llmessage/llmime.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmime.h b/indra/llmessage/llmime.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llmsgvariabletype.h b/indra/llmessage/llmsgvariabletype.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llnamevalue.cpp b/indra/llmessage/llnamevalue.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llnamevalue.h b/indra/llmessage/llnamevalue.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llnullcipher.cpp b/indra/llmessage/llnullcipher.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llnullcipher.h b/indra/llmessage/llnullcipher.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpacketack.cpp b/indra/llmessage/llpacketack.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpacketack.h b/indra/llmessage/llpacketack.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpacketbuffer.cpp b/indra/llmessage/llpacketbuffer.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpacketbuffer.h b/indra/llmessage/llpacketbuffer.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpacketring.cpp b/indra/llmessage/llpacketring.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpacketring.h b/indra/llmessage/llpacketring.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpartdata.cpp b/indra/llmessage/llpartdata.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpartdata.h b/indra/llmessage/llpartdata.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpumpio.cpp b/indra/llmessage/llpumpio.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llpumpio.h b/indra/llmessage/llpumpio.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llqueryflags.h b/indra/llmessage/llqueryflags.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llregionflags.h b/indra/llmessage/llregionflags.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llregionhandle.h b/indra/llmessage/llregionhandle.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llregionpresenceverifier.cpp b/indra/llmessage/llregionpresenceverifier.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llregionpresenceverifier.h b/indra/llmessage/llregionpresenceverifier.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdappservices.cpp b/indra/llmessage/llsdappservices.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdappservices.h b/indra/llmessage/llsdappservices.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdhttpserver.cpp b/indra/llmessage/llsdhttpserver.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdhttpserver.h b/indra/llmessage/llsdhttpserver.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdmessage.cpp b/indra/llmessage/llsdmessage.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdmessage.h b/indra/llmessage/llsdmessage.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdmessagebuilder.cpp b/indra/llmessage/llsdmessagebuilder.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdmessagebuilder.h b/indra/llmessage/llsdmessagebuilder.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdmessagereader.cpp b/indra/llmessage/llsdmessagereader.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdmessagereader.h b/indra/llmessage/llsdmessagereader.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdrpcclient.cpp b/indra/llmessage/llsdrpcclient.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdrpcclient.h b/indra/llmessage/llsdrpcclient.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdrpcserver.cpp b/indra/llmessage/llsdrpcserver.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llsdrpcserver.h b/indra/llmessage/llsdrpcserver.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llservice.cpp b/indra/llmessage/llservice.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llservice.h b/indra/llmessage/llservice.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llservicebuilder.cpp b/indra/llmessage/llservicebuilder.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llservicebuilder.h b/indra/llmessage/llservicebuilder.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llstoredmessage.cpp b/indra/llmessage/llstoredmessage.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llstoredmessage.h b/indra/llmessage/llstoredmessage.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltaskname.h b/indra/llmessage/lltaskname.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llteleportflags.h b/indra/llmessage/llteleportflags.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltemplatemessagebuilder.cpp b/indra/llmessage/lltemplatemessagebuilder.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltemplatemessagebuilder.h b/indra/llmessage/lltemplatemessagebuilder.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltemplatemessagedispatcher.cpp b/indra/llmessage/lltemplatemessagedispatcher.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltemplatemessagedispatcher.h b/indra/llmessage/lltemplatemessagedispatcher.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltemplatemessagereader.cpp b/indra/llmessage/lltemplatemessagereader.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltemplatemessagereader.h b/indra/llmessage/lltemplatemessagereader.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llthrottle.cpp b/indra/llmessage/llthrottle.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llthrottle.h b/indra/llmessage/llthrottle.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfermanager.cpp b/indra/llmessage/lltransfermanager.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfermanager.h b/indra/llmessage/lltransfermanager.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfersourceasset.cpp b/indra/llmessage/lltransfersourceasset.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfersourceasset.h b/indra/llmessage/lltransfersourceasset.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfersourcefile.cpp b/indra/llmessage/lltransfersourcefile.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfersourcefile.h b/indra/llmessage/lltransfersourcefile.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfertargetfile.cpp b/indra/llmessage/lltransfertargetfile.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfertargetfile.h b/indra/llmessage/lltransfertargetfile.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfertargetvfile.cpp b/indra/llmessage/lltransfertargetvfile.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltransfertargetvfile.h b/indra/llmessage/lltransfertargetvfile.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltrustedmessageservice.cpp b/indra/llmessage/lltrustedmessageservice.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lltrustedmessageservice.h b/indra/llmessage/lltrustedmessageservice.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llurlrequest.cpp b/indra/llmessage/llurlrequest.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llurlrequest.h b/indra/llmessage/llurlrequest.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/lluseroperation.cpp b/indra/llmessage/lluseroperation.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/lluseroperation.h b/indra/llmessage/lluseroperation.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llvehicleparams.h b/indra/llmessage/llvehicleparams.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfer.cpp b/indra/llmessage/llxfer.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfer.h b/indra/llmessage/llxfer.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfer_file.cpp b/indra/llmessage/llxfer_file.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfer_file.h b/indra/llmessage/llxfer_file.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfer_mem.cpp b/indra/llmessage/llxfer_mem.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfer_mem.h b/indra/llmessage/llxfer_mem.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfer_vfile.cpp b/indra/llmessage/llxfer_vfile.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfer_vfile.h b/indra/llmessage/llxfer_vfile.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfermanager.cpp b/indra/llmessage/llxfermanager.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxfermanager.h b/indra/llmessage/llxfermanager.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxorcipher.cpp b/indra/llmessage/llxorcipher.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/llxorcipher.h b/indra/llmessage/llxorcipher.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/machine.cpp b/indra/llmessage/machine.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/machine.h b/indra/llmessage/machine.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/mean_collision_data.h b/indra/llmessage/mean_collision_data.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/message.cpp b/indra/llmessage/message.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/message.h b/indra/llmessage/message.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/message_prehash.cpp b/indra/llmessage/message_prehash.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/message_prehash.h b/indra/llmessage/message_prehash.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/message_string_table.cpp b/indra/llmessage/message_string_table.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/net.cpp b/indra/llmessage/net.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/net.h b/indra/llmessage/net.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/partsyspacket.cpp b/indra/llmessage/partsyspacket.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/partsyspacket.h b/indra/llmessage/partsyspacket.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/patch_code.cpp b/indra/llmessage/patch_code.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/patch_code.h b/indra/llmessage/patch_code.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/patch_dct.cpp b/indra/llmessage/patch_dct.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/patch_dct.h b/indra/llmessage/patch_dct.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/patch_idct.cpp b/indra/llmessage/patch_idct.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/sound_ids.cpp b/indra/llmessage/sound_ids.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/sound_ids.h b/indra/llmessage/sound_ids.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/commtest.h b/indra/llmessage/tests/commtest.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llareslistener_test.cpp b/indra/llmessage/tests/llareslistener_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llcurl_stub.cpp b/indra/llmessage/tests/llcurl_stub.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llhost_test.cpp b/indra/llmessage/tests/llhost_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llhttpclientadapter_test.cpp b/indra/llmessage/tests/llhttpclientadapter_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llmime_test.cpp b/indra/llmessage/tests/llmime_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llmockhttpclient.h b/indra/llmessage/tests/llmockhttpclient.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llnamevalue_test.cpp b/indra/llmessage/tests/llnamevalue_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llpartdata_test.cpp b/indra/llmessage/tests/llpartdata_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llregionpresenceverifier_test.cpp b/indra/llmessage/tests/llregionpresenceverifier_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llsdmessage_test.cpp b/indra/llmessage/tests/llsdmessage_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/lltemplatemessagedispatcher_test.cpp b/indra/llmessage/tests/lltemplatemessagedispatcher_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/lltesthttpclientadapter.cpp b/indra/llmessage/tests/lltesthttpclientadapter.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/lltesthttpclientadapter.h b/indra/llmessage/tests/lltesthttpclientadapter.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/lltestmessagesender.cpp b/indra/llmessage/tests/lltestmessagesender.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/lltestmessagesender.h b/indra/llmessage/tests/lltestmessagesender.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/lltrustedmessageservice_test.cpp b/indra/llmessage/tests/lltrustedmessageservice_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/llxfer_file_test.cpp b/indra/llmessage/tests/llxfer_file_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/networkio.h b/indra/llmessage/tests/networkio.h old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/test_llsdmessage_peer.py b/indra/llmessage/tests/test_llsdmessage_peer.py old mode 100644 new mode 100755 diff --git a/indra/llmessage/tests/testrunner.py b/indra/llmessage/tests/testrunner.py old mode 100644 new mode 100755 diff --git a/indra/llplugin/CMakeLists.txt b/indra/llplugin/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginclassmediaowner.h b/indra/llplugin/llpluginclassmediaowner.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/llplugincookiestore.cpp b/indra/llplugin/llplugincookiestore.cpp old mode 100644 new mode 100755 diff --git a/indra/llplugin/llplugincookiestore.h b/indra/llplugin/llplugincookiestore.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/llplugininstance.cpp b/indra/llplugin/llplugininstance.cpp old mode 100644 new mode 100755 diff --git a/indra/llplugin/llplugininstance.h b/indra/llplugin/llplugininstance.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginmessage.cpp b/indra/llplugin/llpluginmessage.cpp old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginmessage.h b/indra/llplugin/llpluginmessage.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginmessageclasses.h b/indra/llplugin/llpluginmessageclasses.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginmessagepipe.cpp b/indra/llplugin/llpluginmessagepipe.cpp old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginmessagepipe.h b/indra/llplugin/llpluginmessagepipe.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginprocesschild.h b/indra/llplugin/llpluginprocesschild.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginprocessparent.h b/indra/llplugin/llpluginprocessparent.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginsharedmemory.cpp b/indra/llplugin/llpluginsharedmemory.cpp old mode 100644 new mode 100755 diff --git a/indra/llplugin/llpluginsharedmemory.h b/indra/llplugin/llpluginsharedmemory.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llplugin/slplugin/slplugin-objc.h b/indra/llplugin/slplugin/slplugin-objc.h old mode 100644 new mode 100755 diff --git a/indra/llplugin/slplugin/slplugin-objc.mm b/indra/llplugin/slplugin/slplugin-objc.mm old mode 100644 new mode 100755 diff --git a/indra/llplugin/slplugin/slplugin.cpp b/indra/llplugin/slplugin/slplugin.cpp old mode 100644 new mode 100755 diff --git a/indra/llplugin/slplugin/slplugin_info.plist b/indra/llplugin/slplugin/slplugin_info.plist old mode 100644 new mode 100755 diff --git a/indra/llplugin/tests/llplugincookiestore_test.cpp b/indra/llplugin/tests/llplugincookiestore_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/CMakeLists.txt b/indra/llprimitive/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llprimitive/legacy_object_types.h b/indra/llprimitive/legacy_object_types.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llmaterialtable.cpp b/indra/llprimitive/llmaterialtable.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llmaterialtable.h b/indra/llprimitive/llmaterialtable.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llmediaentry.cpp b/indra/llprimitive/llmediaentry.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llmediaentry.h b/indra/llprimitive/llmediaentry.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llmodel.h b/indra/llprimitive/llmodel.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llprimitive.cpp b/indra/llprimitive/llprimitive.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llprimitive.h b/indra/llprimitive/llprimitive.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llprimlinkinfo.h b/indra/llprimitive/llprimlinkinfo.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llprimtexturelist.cpp b/indra/llprimitive/llprimtexturelist.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llprimtexturelist.h b/indra/llprimitive/llprimtexturelist.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/lltextureanim.cpp b/indra/llprimitive/lltextureanim.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/lltextureanim.h b/indra/llprimitive/lltextureanim.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/lltextureentry.cpp b/indra/llprimitive/lltextureentry.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/lltextureentry.h b/indra/llprimitive/lltextureentry.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/lltree_common.h b/indra/llprimitive/lltree_common.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/lltreeparams.cpp b/indra/llprimitive/lltreeparams.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/lltreeparams.h b/indra/llprimitive/lltreeparams.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llvolumemessage.cpp b/indra/llprimitive/llvolumemessage.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llvolumemessage.h b/indra/llprimitive/llvolumemessage.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llvolumexml.cpp b/indra/llprimitive/llvolumexml.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/llvolumexml.h b/indra/llprimitive/llvolumexml.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/material_codes.cpp b/indra/llprimitive/material_codes.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/material_codes.h b/indra/llprimitive/material_codes.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/object_flags.h b/indra/llprimitive/object_flags.h old mode 100644 new mode 100755 diff --git a/indra/llprimitive/tests/llmediaentry_test.cpp b/indra/llprimitive/tests/llmediaentry_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/tests/llmessagesystem_stub.cpp b/indra/llprimitive/tests/llmessagesystem_stub.cpp old mode 100644 new mode 100755 diff --git a/indra/llprimitive/tests/llprimitive_test.cpp b/indra/llprimitive/tests/llprimitive_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/CMakeLists.txt b/indra/llrender/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llrender/llcubemap.cpp b/indra/llrender/llcubemap.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llcubemap.h b/indra/llrender/llcubemap.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llfontbitmapcache.cpp b/indra/llrender/llfontbitmapcache.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llfontbitmapcache.h b/indra/llrender/llfontbitmapcache.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llfontfreetype.cpp b/indra/llrender/llfontfreetype.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llfontfreetype.h b/indra/llrender/llfontfreetype.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llfontgl.h b/indra/llrender/llfontgl.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llfontregistry.cpp b/indra/llrender/llfontregistry.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llfontregistry.h b/indra/llrender/llfontregistry.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llgldbg.cpp b/indra/llrender/llgldbg.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llgldbg.h b/indra/llrender/llgldbg.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llglheaders.h b/indra/llrender/llglheaders.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llglslshader.h b/indra/llrender/llglslshader.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llglstates.h b/indra/llrender/llglstates.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llgltypes.h b/indra/llrender/llgltypes.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llimagegl.h b/indra/llrender/llimagegl.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llpostprocess.cpp b/indra/llrender/llpostprocess.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llpostprocess.h b/indra/llrender/llpostprocess.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llrender.h b/indra/llrender/llrender.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llrendersphere.cpp b/indra/llrender/llrendersphere.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llrendersphere.h b/indra/llrender/llrendersphere.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llrendertarget.cpp b/indra/llrender/llrendertarget.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llrendertarget.h b/indra/llrender/llrendertarget.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llshadermgr.h b/indra/llrender/llshadermgr.h old mode 100644 new mode 100755 diff --git a/indra/llrender/lltexture.cpp b/indra/llrender/lltexture.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/lltexture.h b/indra/llrender/lltexture.h old mode 100644 new mode 100755 diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp old mode 100644 new mode 100755 diff --git a/indra/llrender/llvertexbuffer.h b/indra/llrender/llvertexbuffer.h old mode 100644 new mode 100755 diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llaccordionctrl.h b/indra/llui/llaccordionctrl.h old mode 100644 new mode 100755 diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llaccordionctrltab.h b/indra/llui/llaccordionctrltab.h old mode 100644 new mode 100755 diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h old mode 100644 new mode 100755 diff --git a/indra/llui/llcallbackmap.h b/indra/llui/llcallbackmap.h old mode 100644 new mode 100755 diff --git a/indra/llui/llcheckboxctrl.cpp b/indra/llui/llcheckboxctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llcheckboxctrl.h b/indra/llui/llcheckboxctrl.h old mode 100644 new mode 100755 diff --git a/indra/llui/llclipboard.cpp b/indra/llui/llclipboard.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llclipboard.h b/indra/llui/llclipboard.h old mode 100644 new mode 100755 diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llcombobox.h b/indra/llui/llcombobox.h old mode 100644 new mode 100755 diff --git a/indra/llui/llconsole.cpp b/indra/llui/llconsole.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llconsole.h b/indra/llui/llconsole.h old mode 100644 new mode 100755 diff --git a/indra/llui/llcontainerview.cpp b/indra/llui/llcontainerview.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llcontainerview.h b/indra/llui/llcontainerview.h old mode 100644 new mode 100755 diff --git a/indra/llui/llctrlselectioninterface.cpp b/indra/llui/llctrlselectioninterface.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llctrlselectioninterface.h b/indra/llui/llctrlselectioninterface.h old mode 100644 new mode 100755 diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lldockablefloater.h b/indra/llui/lldockablefloater.h old mode 100644 new mode 100755 diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lldockcontrol.h b/indra/llui/lldockcontrol.h old mode 100644 new mode 100755 diff --git a/indra/llui/lldraghandle.cpp b/indra/llui/lldraghandle.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lldraghandle.h b/indra/llui/lldraghandle.h old mode 100644 new mode 100755 diff --git a/indra/llui/lleditmenuhandler.cpp b/indra/llui/lleditmenuhandler.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lleditmenuhandler.h b/indra/llui/lleditmenuhandler.h old mode 100644 new mode 100755 diff --git a/indra/llui/llf32uictrl.cpp b/indra/llui/llf32uictrl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llf32uictrl.h b/indra/llui/llf32uictrl.h old mode 100644 new mode 100755 diff --git a/indra/llui/llfiltereditor.cpp b/indra/llui/llfiltereditor.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llfiltereditor.h b/indra/llui/llfiltereditor.h old mode 100644 new mode 100755 diff --git a/indra/llui/llflatlistview.cpp b/indra/llui/llflatlistview.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llflatlistview.h b/indra/llui/llflatlistview.h old mode 100644 new mode 100755 diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h old mode 100644 new mode 100755 diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h old mode 100644 new mode 100755 diff --git a/indra/llui/llfloaterreglistener.cpp b/indra/llui/llfloaterreglistener.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llfloaterreglistener.h b/indra/llui/llfloaterreglistener.h old mode 100644 new mode 100755 diff --git a/indra/llui/llflyoutbutton.cpp b/indra/llui/llflyoutbutton.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llflyoutbutton.h b/indra/llui/llflyoutbutton.h old mode 100644 new mode 100755 diff --git a/indra/llui/llfocusmgr.cpp b/indra/llui/llfocusmgr.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llfocusmgr.h b/indra/llui/llfocusmgr.h old mode 100644 new mode 100755 diff --git a/indra/llui/llfunctorregistry.cpp b/indra/llui/llfunctorregistry.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llfunctorregistry.h b/indra/llui/llfunctorregistry.h old mode 100644 new mode 100755 diff --git a/indra/llui/llhandle.h b/indra/llui/llhandle.h old mode 100644 new mode 100755 diff --git a/indra/llui/llhelp.h b/indra/llui/llhelp.h old mode 100644 new mode 100755 diff --git a/indra/llui/lliconctrl.cpp b/indra/llui/lliconctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lliconctrl.h b/indra/llui/lliconctrl.h old mode 100644 new mode 100755 diff --git a/indra/llui/llkeywords.cpp b/indra/llui/llkeywords.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llkeywords.h b/indra/llui/llkeywords.h old mode 100644 new mode 100755 diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h old mode 100644 new mode 100755 diff --git a/indra/llui/lllazyvalue.h b/indra/llui/lllazyvalue.h old mode 100644 new mode 100755 diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lllineeditor.h b/indra/llui/lllineeditor.h old mode 100644 new mode 100755 diff --git a/indra/llui/llloadingindicator.cpp b/indra/llui/llloadingindicator.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llloadingindicator.h b/indra/llui/llloadingindicator.h old mode 100644 new mode 100755 diff --git a/indra/llui/lllocalcliprect.cpp b/indra/llui/lllocalcliprect.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lllocalcliprect.h b/indra/llui/lllocalcliprect.h old mode 100644 new mode 100755 diff --git a/indra/llui/llmenubutton.cpp b/indra/llui/llmenubutton.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llmenubutton.h b/indra/llui/llmenubutton.h old mode 100644 new mode 100755 diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h old mode 100644 new mode 100755 diff --git a/indra/llui/llmodaldialog.cpp b/indra/llui/llmodaldialog.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llmodaldialog.h b/indra/llui/llmodaldialog.h old mode 100644 new mode 100755 diff --git a/indra/llui/llmultifloater.cpp b/indra/llui/llmultifloater.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llmultifloater.h b/indra/llui/llmultifloater.h old mode 100644 new mode 100755 diff --git a/indra/llui/llmultislider.cpp b/indra/llui/llmultislider.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llmultislider.h b/indra/llui/llmultislider.h old mode 100644 new mode 100755 diff --git a/indra/llui/llmultisliderctrl.cpp b/indra/llui/llmultisliderctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llmultisliderctrl.h b/indra/llui/llmultisliderctrl.h old mode 100644 new mode 100755 diff --git a/indra/llui/llnotificationptr.h b/indra/llui/llnotificationptr.h old mode 100644 new mode 100755 diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h old mode 100644 new mode 100755 diff --git a/indra/llui/llnotificationslistener.cpp b/indra/llui/llnotificationslistener.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llnotificationslistener.h b/indra/llui/llnotificationslistener.h old mode 100644 new mode 100755 diff --git a/indra/llui/llnotificationsutil.cpp b/indra/llui/llnotificationsutil.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llnotificationsutil.h b/indra/llui/llnotificationsutil.h old mode 100644 new mode 100755 diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h old mode 100644 new mode 100755 diff --git a/indra/llui/llprogressbar.cpp b/indra/llui/llprogressbar.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llprogressbar.h b/indra/llui/llprogressbar.h old mode 100644 new mode 100755 diff --git a/indra/llui/llradiogroup.cpp b/indra/llui/llradiogroup.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llradiogroup.h b/indra/llui/llradiogroup.h old mode 100644 new mode 100755 diff --git a/indra/llui/llresizebar.cpp b/indra/llui/llresizebar.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llresizebar.h b/indra/llui/llresizebar.h old mode 100644 new mode 100755 diff --git a/indra/llui/llresizehandle.cpp b/indra/llui/llresizehandle.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llresizehandle.h b/indra/llui/llresizehandle.h old mode 100644 new mode 100755 diff --git a/indra/llui/llresmgr.cpp b/indra/llui/llresmgr.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llresmgr.h b/indra/llui/llresmgr.h old mode 100644 new mode 100755 diff --git a/indra/llui/llrngwriter.cpp b/indra/llui/llrngwriter.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llrngwriter.h b/indra/llui/llrngwriter.h old mode 100644 new mode 100755 diff --git a/indra/llui/llscrollbar.cpp b/indra/llui/llscrollbar.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llscrollbar.h b/indra/llui/llscrollbar.h old mode 100644 new mode 100755 diff --git a/indra/llui/llscrollcontainer.cpp b/indra/llui/llscrollcontainer.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llscrollcontainer.h b/indra/llui/llscrollcontainer.h old mode 100644 new mode 100755 diff --git a/indra/llui/llscrollingpanellist.cpp b/indra/llui/llscrollingpanellist.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llscrollingpanellist.h b/indra/llui/llscrollingpanellist.h old mode 100644 new mode 100755 diff --git a/indra/llui/llscrolllistcell.cpp b/indra/llui/llscrolllistcell.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llscrolllistcell.h b/indra/llui/llscrolllistcell.h old mode 100644 new mode 100755 diff --git a/indra/llui/llscrolllistcolumn.cpp b/indra/llui/llscrolllistcolumn.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llscrolllistcolumn.h b/indra/llui/llscrolllistcolumn.h old mode 100644 new mode 100755 diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h old mode 100644 new mode 100755 diff --git a/indra/llui/llscrolllistitem.cpp b/indra/llui/llscrolllistitem.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llscrolllistitem.h b/indra/llui/llscrolllistitem.h old mode 100644 new mode 100755 diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h old mode 100644 new mode 100755 diff --git a/indra/llui/llsearcheditor.cpp b/indra/llui/llsearcheditor.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llsearcheditor.h b/indra/llui/llsearcheditor.h old mode 100644 new mode 100755 diff --git a/indra/llui/llslider.cpp b/indra/llui/llslider.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llslider.h b/indra/llui/llslider.h old mode 100644 new mode 100755 diff --git a/indra/llui/llsliderctrl.cpp b/indra/llui/llsliderctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llsliderctrl.h b/indra/llui/llsliderctrl.h old mode 100644 new mode 100755 diff --git a/indra/llui/llspinctrl.cpp b/indra/llui/llspinctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llspinctrl.h b/indra/llui/llspinctrl.h old mode 100644 new mode 100755 diff --git a/indra/llui/llstatbar.cpp b/indra/llui/llstatbar.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llstatbar.h b/indra/llui/llstatbar.h old mode 100644 new mode 100755 diff --git a/indra/llui/llstatgraph.cpp b/indra/llui/llstatgraph.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llstatgraph.h b/indra/llui/llstatgraph.h old mode 100644 new mode 100755 diff --git a/indra/llui/llstatview.cpp b/indra/llui/llstatview.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llstatview.h b/indra/llui/llstatview.h old mode 100644 new mode 100755 diff --git a/indra/llui/llstyle.cpp b/indra/llui/llstyle.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llstyle.h b/indra/llui/llstyle.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltabcontainer.h b/indra/llui/lltabcontainer.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltextbox.cpp b/indra/llui/lltextbox.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltextbox.h b/indra/llui/lltextbox.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltexteditor.h b/indra/llui/lltexteditor.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltextparser.cpp b/indra/llui/lltextparser.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltextparser.h b/indra/llui/lltextparser.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltextutil.cpp b/indra/llui/lltextutil.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltextutil.h b/indra/llui/lltextutil.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltextvalidate.cpp b/indra/llui/lltextvalidate.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltextvalidate.h b/indra/llui/lltextvalidate.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltoggleablemenu.cpp b/indra/llui/lltoggleablemenu.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltoggleablemenu.h b/indra/llui/lltoggleablemenu.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltooltip.cpp b/indra/llui/lltooltip.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltooltip.h b/indra/llui/lltooltip.h old mode 100644 new mode 100755 diff --git a/indra/llui/lltransutil.cpp b/indra/llui/lltransutil.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lltransutil.h b/indra/llui/lltransutil.h old mode 100644 new mode 100755 diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llui.h b/indra/llui/llui.h old mode 100644 new mode 100755 diff --git a/indra/llui/lluicolortable.cpp b/indra/llui/lluicolortable.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lluicolortable.h b/indra/llui/lluicolortable.h old mode 100644 new mode 100755 diff --git a/indra/llui/lluiconstants.h b/indra/llui/lluiconstants.h old mode 100644 new mode 100755 diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h old mode 100644 new mode 100755 diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h old mode 100644 new mode 100755 diff --git a/indra/llui/lluifwd.h b/indra/llui/lluifwd.h old mode 100644 new mode 100755 diff --git a/indra/llui/lluiimage.cpp b/indra/llui/lluiimage.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lluiimage.h b/indra/llui/lluiimage.h old mode 100644 new mode 100755 diff --git a/indra/llui/lluistring.cpp b/indra/llui/lluistring.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/lluistring.h b/indra/llui/lluistring.h old mode 100644 new mode 100755 diff --git a/indra/llui/llundo.cpp b/indra/llui/llundo.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llundo.h b/indra/llui/llundo.h old mode 100644 new mode 100755 diff --git a/indra/llui/llurlaction.cpp b/indra/llui/llurlaction.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llurlaction.h b/indra/llui/llurlaction.h old mode 100644 new mode 100755 diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llurlentry.h b/indra/llui/llurlentry.h old mode 100644 new mode 100755 diff --git a/indra/llui/llurlmatch.cpp b/indra/llui/llurlmatch.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llurlmatch.h b/indra/llui/llurlmatch.h old mode 100644 new mode 100755 diff --git a/indra/llui/llurlregistry.cpp b/indra/llui/llurlregistry.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llurlregistry.h b/indra/llui/llurlregistry.h old mode 100644 new mode 100755 diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llview.h b/indra/llui/llview.h old mode 100644 new mode 100755 diff --git a/indra/llui/llviewborder.cpp b/indra/llui/llviewborder.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llviewborder.h b/indra/llui/llviewborder.h old mode 100644 new mode 100755 diff --git a/indra/llui/llviewmodel.cpp b/indra/llui/llviewmodel.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llviewmodel.h b/indra/llui/llviewmodel.h old mode 100644 new mode 100755 diff --git a/indra/llui/llviewquery.cpp b/indra/llui/llviewquery.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/llviewquery.h b/indra/llui/llviewquery.h old mode 100644 new mode 100755 diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/tests/llurlentry_test.cpp b/indra/llui/tests/llurlentry_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llui/tests/llurlmatch_test.cpp b/indra/llui/tests/llurlmatch_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/CMakeLists.txt b/indra/llvfs/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir.cpp b/indra/llvfs/lldir.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir.h b/indra/llvfs/lldir.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir_linux.cpp b/indra/llvfs/lldir_linux.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir_linux.h b/indra/llvfs/lldir_linux.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir_mac.cpp b/indra/llvfs/lldir_mac.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir_mac.h b/indra/llvfs/lldir_mac.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir_solaris.cpp b/indra/llvfs/lldir_solaris.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir_solaris.h b/indra/llvfs/lldir_solaris.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir_win32.cpp b/indra/llvfs/lldir_win32.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldir_win32.h b/indra/llvfs/lldir_win32.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/lldirguard.h b/indra/llvfs/lldirguard.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/lllfsthread.cpp b/indra/llvfs/lllfsthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/lllfsthread.h b/indra/llvfs/lllfsthread.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/llpidlock.cpp b/indra/llvfs/llpidlock.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/llpidlock.h b/indra/llvfs/llpidlock.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/llvfile.cpp b/indra/llvfs/llvfile.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/llvfile.h b/indra/llvfs/llvfile.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/llvfs.cpp b/indra/llvfs/llvfs.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/llvfs.h b/indra/llvfs/llvfs.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/llvfsthread.cpp b/indra/llvfs/llvfsthread.cpp old mode 100644 new mode 100755 diff --git a/indra/llvfs/llvfsthread.h b/indra/llvfs/llvfsthread.h old mode 100644 new mode 100755 diff --git a/indra/llvfs/tests/lldir_test.cpp b/indra/llvfs/tests/lldir_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/CMakeLists.txt b/indra/llwindow/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llwindow/GL/glh_extensions.h b/indra/llwindow/GL/glh_extensions.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/GL/glh_genext.h b/indra/llwindow/GL/glh_genext.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/lldragdropwin32.cpp b/indra/llwindow/lldragdropwin32.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/lldragdropwin32.h b/indra/llwindow/lldragdropwin32.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/lldxhardware.cpp b/indra/llwindow/lldxhardware.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/lldxhardware.h b/indra/llwindow/lldxhardware.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llkeyboard.cpp b/indra/llwindow/llkeyboard.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llkeyboard.h b/indra/llwindow/llkeyboard.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llkeyboardmacosx.cpp b/indra/llwindow/llkeyboardmacosx.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llkeyboardmacosx.h b/indra/llwindow/llkeyboardmacosx.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llkeyboardsdl.cpp b/indra/llwindow/llkeyboardsdl.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llkeyboardsdl.h b/indra/llwindow/llkeyboardsdl.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llkeyboardwin32.cpp b/indra/llwindow/llkeyboardwin32.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llkeyboardwin32.h b/indra/llwindow/llkeyboardwin32.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llmousehandler.cpp b/indra/llwindow/llmousehandler.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llmousehandler.h b/indra/llwindow/llmousehandler.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llpreeditor.h b/indra/llwindow/llpreeditor.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowcallbacks.cpp b/indra/llwindow/llwindowcallbacks.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowcallbacks.h b/indra/llwindow/llwindowcallbacks.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowheadless.cpp b/indra/llwindow/llwindowheadless.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowheadless.h b/indra/llwindow/llwindowheadless.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowmacosx-objc.h b/indra/llwindow/llwindowmacosx-objc.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowmacosx-objc.mm b/indra/llwindow/llwindowmacosx-objc.mm old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowmesaheadless.cpp b/indra/llwindow/llwindowmesaheadless.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowmesaheadless.h b/indra/llwindow/llwindowmesaheadless.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp old mode 100644 new mode 100755 diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h old mode 100644 new mode 100755 diff --git a/indra/llxml/CMakeLists.txt b/indra/llxml/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp old mode 100644 new mode 100755 diff --git a/indra/llxml/llcontrol.h b/indra/llxml/llcontrol.h old mode 100644 new mode 100755 diff --git a/indra/llxml/llcontrolgroupreader.h b/indra/llxml/llcontrolgroupreader.h old mode 100644 new mode 100755 diff --git a/indra/llxml/llxmlnode.cpp b/indra/llxml/llxmlnode.cpp old mode 100644 new mode 100755 diff --git a/indra/llxml/llxmlnode.h b/indra/llxml/llxmlnode.h old mode 100644 new mode 100755 diff --git a/indra/llxml/llxmlparser.cpp b/indra/llxml/llxmlparser.cpp old mode 100644 new mode 100755 diff --git a/indra/llxml/llxmlparser.h b/indra/llxml/llxmlparser.h old mode 100644 new mode 100755 diff --git a/indra/llxml/llxmltree.cpp b/indra/llxml/llxmltree.cpp old mode 100644 new mode 100755 diff --git a/indra/llxml/llxmltree.h b/indra/llxml/llxmltree.h old mode 100644 new mode 100755 diff --git a/indra/llxml/tests/llcontrol_test.cpp b/indra/llxml/tests/llcontrol_test.cpp old mode 100644 new mode 100755 diff --git a/indra/llxuixml/CMakeLists.txt b/indra/llxuixml/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/llxuixml/llinitparam.cpp b/indra/llxuixml/llinitparam.cpp old mode 100644 new mode 100755 diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h old mode 100644 new mode 100755 diff --git a/indra/llxuixml/llregistry.h b/indra/llxuixml/llregistry.h old mode 100644 new mode 100755 diff --git a/indra/llxuixml/lltrans.cpp b/indra/llxuixml/lltrans.cpp old mode 100644 new mode 100755 diff --git a/indra/llxuixml/lltrans.h b/indra/llxuixml/lltrans.h old mode 100644 new mode 100755 diff --git a/indra/llxuixml/lluicolor.cpp b/indra/llxuixml/lluicolor.cpp old mode 100644 new mode 100755 diff --git a/indra/llxuixml/lluicolor.h b/indra/llxuixml/lluicolor.h old mode 100644 new mode 100755 diff --git a/indra/llxuixml/llxuiparser.cpp b/indra/llxuixml/llxuiparser.cpp old mode 100644 new mode 100755 diff --git a/indra/llxuixml/llxuiparser.h b/indra/llxuixml/llxuiparser.h old mode 100644 new mode 100755 diff --git a/indra/lscript/CMakeLists.txt b/indra/lscript/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/lscript/llscriptresource.h b/indra/lscript/llscriptresource.h old mode 100644 new mode 100755 diff --git a/indra/lscript/llscriptresourceconsumer.h b/indra/lscript/llscriptresourceconsumer.h old mode 100644 new mode 100755 diff --git a/indra/lscript/llscriptresourcepool.h b/indra/lscript/llscriptresourcepool.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_alloc.h b/indra/lscript/lscript_alloc.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_byteconvert.h b/indra/lscript/lscript_byteconvert.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_byteformat.h b/indra/lscript/lscript_byteformat.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/CMakeLists.txt b/indra/lscript/lscript_compile/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/indra.l b/indra/lscript/lscript_compile/indra.l old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/indra.y b/indra/lscript/lscript_compile/indra.y old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_alloc.cpp b/indra/lscript/lscript_compile/lscript_alloc.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_bytecode.cpp b/indra/lscript/lscript_compile/lscript_bytecode.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_bytecode.h b/indra/lscript/lscript_compile/lscript_bytecode.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_error.cpp b/indra/lscript/lscript_compile/lscript_error.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_error.h b/indra/lscript/lscript_compile/lscript_error.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_heap.cpp b/indra/lscript/lscript_compile/lscript_heap.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_heap.h b/indra/lscript/lscript_compile/lscript_heap.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_resource.cpp b/indra/lscript/lscript_compile/lscript_resource.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_resource.h b/indra/lscript/lscript_compile/lscript_resource.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_scope.cpp b/indra/lscript/lscript_compile/lscript_scope.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_scope.h b/indra/lscript/lscript_compile/lscript_scope.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_tree.cpp b/indra/lscript/lscript_compile/lscript_tree.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_tree.h b/indra/lscript/lscript_compile/lscript_tree.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_typecheck.cpp b/indra/lscript/lscript_compile/lscript_typecheck.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/lscript_typecheck.h b/indra/lscript/lscript_compile/lscript_typecheck.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_compile/windows/unistd.h b/indra/lscript/lscript_compile/windows/unistd.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute.h b/indra/lscript/lscript_execute.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute/CMakeLists.txt b/indra/lscript/lscript_execute/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute/llscriptresource.cpp b/indra/lscript/lscript_execute/llscriptresource.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute/llscriptresourceconsumer.cpp b/indra/lscript/lscript_execute/llscriptresourceconsumer.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute/llscriptresourcepool.cpp b/indra/lscript/lscript_execute/llscriptresourcepool.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute/lscript_heapruntime.cpp b/indra/lscript/lscript_execute/lscript_heapruntime.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute/lscript_heapruntime.h b/indra/lscript/lscript_execute/lscript_heapruntime.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute/lscript_readlso.cpp b/indra/lscript/lscript_execute/lscript_readlso.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_execute/lscript_readlso.h b/indra/lscript/lscript_execute/lscript_readlso.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_export.h b/indra/lscript/lscript_export.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_http.h b/indra/lscript/lscript_http.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_library.h b/indra/lscript/lscript_library.h old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_library/CMakeLists.txt b/indra/lscript/lscript_library/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_library/lscript_alloc.cpp b/indra/lscript/lscript_library/lscript_alloc.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_library/lscript_export.cpp b/indra/lscript/lscript_library/lscript_export.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_library/lscript_library.cpp b/indra/lscript/lscript_library/lscript_library.cpp old mode 100644 new mode 100755 diff --git a/indra/lscript/lscript_rt_interface.h b/indra/lscript/lscript_rt_interface.h old mode 100644 new mode 100755 diff --git a/indra/mac_crash_logger/CMakeLists.txt b/indra/mac_crash_logger/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/mac_crash_logger/CrashReporter.nib/classes.nib b/indra/mac_crash_logger/CrashReporter.nib/classes.nib old mode 100644 new mode 100755 diff --git a/indra/mac_crash_logger/CrashReporter.nib/info.nib b/indra/mac_crash_logger/CrashReporter.nib/info.nib old mode 100644 new mode 100755 diff --git a/indra/mac_crash_logger/CrashReporter.nib/objects.xib b/indra/mac_crash_logger/CrashReporter.nib/objects.xib old mode 100644 new mode 100755 diff --git a/indra/mac_crash_logger/Info.plist b/indra/mac_crash_logger/Info.plist old mode 100644 new mode 100755 diff --git a/indra/mac_crash_logger/llcrashloggermac.cpp b/indra/mac_crash_logger/llcrashloggermac.cpp old mode 100644 new mode 100755 diff --git a/indra/mac_crash_logger/llcrashloggermac.h b/indra/mac_crash_logger/llcrashloggermac.h old mode 100644 new mode 100755 diff --git a/indra/mac_crash_logger/mac_crash_logger.cpp b/indra/mac_crash_logger/mac_crash_logger.cpp old mode 100644 new mode 100755 diff --git a/indra/mac_updater/AutoUpdater.nib/classes.nib b/indra/mac_updater/AutoUpdater.nib/classes.nib old mode 100644 new mode 100755 diff --git a/indra/mac_updater/AutoUpdater.nib/info.nib b/indra/mac_updater/AutoUpdater.nib/info.nib old mode 100644 new mode 100755 diff --git a/indra/mac_updater/AutoUpdater.nib/objects.xib b/indra/mac_updater/AutoUpdater.nib/objects.xib old mode 100644 new mode 100755 diff --git a/indra/mac_updater/CMakeLists.txt b/indra/mac_updater/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/mac_updater/Info.plist b/indra/mac_updater/Info.plist old mode 100644 new mode 100755 diff --git a/indra/mac_updater/mac_updater.cpp b/indra/mac_updater/mac_updater.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/CMakeLists.txt b/indra/media_plugins/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/media_plugins/base/CMakeLists.txt b/indra/media_plugins/base/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/media_plugins/base/media_plugin_base.cpp b/indra/media_plugins/base/media_plugin_base.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/base/media_plugin_base.exp b/indra/media_plugins/base/media_plugin_base.exp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/base/media_plugin_base.h b/indra/media_plugins/base/media_plugin_base.h old mode 100644 new mode 100755 diff --git a/indra/media_plugins/example/CMakeLists.txt b/indra/media_plugins/example/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/media_plugins/example/media_plugin_example.cpp b/indra/media_plugins/example/media_plugin_example.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/CMakeLists.txt b/indra/media_plugins/gstreamer010/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamer.h b/indra/media_plugins/gstreamer010/llmediaimplgstreamer.h old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp b/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h b/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms_raw.inc b/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms_raw.inc old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms_rawv.inc b/indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms_rawv.inc old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h b/indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp b/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h b/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h old mode 100644 new mode 100755 diff --git a/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp b/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/quicktime/CMakeLists.txt b/indra/media_plugins/quicktime/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/media_plugins/quicktime/media_plugin_quicktime.cpp b/indra/media_plugins/quicktime/media_plugin_quicktime.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/media_plugins/webkit/dummy_volume_catcher.cpp b/indra/media_plugins/webkit/dummy_volume_catcher.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/webkit/linux_volume_catcher.cpp b/indra/media_plugins/webkit/linux_volume_catcher.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/webkit/linux_volume_catcher_pa_syms.inc b/indra/media_plugins/webkit/linux_volume_catcher_pa_syms.inc old mode 100644 new mode 100755 diff --git a/indra/media_plugins/webkit/linux_volume_catcher_paglib_syms.inc b/indra/media_plugins/webkit/linux_volume_catcher_paglib_syms.inc old mode 100644 new mode 100755 diff --git a/indra/media_plugins/webkit/mac_volume_catcher.cpp b/indra/media_plugins/webkit/mac_volume_catcher.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/webkit/volume_catcher.h b/indra/media_plugins/webkit/volume_catcher.h old mode 100644 new mode 100755 diff --git a/indra/media_plugins/webkit/windows_volume_catcher.cpp b/indra/media_plugins/webkit/windows_volume_catcher.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/winmmshim/CMakeLists.txt b/indra/media_plugins/winmmshim/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/media_plugins/winmmshim/forwarding_api.cpp b/indra/media_plugins/winmmshim/forwarding_api.cpp old mode 100644 new mode 100755 diff --git a/indra/media_plugins/winmmshim/forwarding_api.h b/indra/media_plugins/winmmshim/forwarding_api.h old mode 100644 new mode 100755 diff --git a/indra/media_plugins/winmmshim/winmm.def b/indra/media_plugins/winmmshim/winmm.def old mode 100644 new mode 100755 diff --git a/indra/media_plugins/winmmshim/winmm_shim.cpp b/indra/media_plugins/winmmshim/winmm_shim.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings old mode 100644 new mode 100755 diff --git a/indra/newview/English.lproj/language.txt b/indra/newview/English.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/German.lproj/language.txt b/indra/newview/German.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist old mode 100644 new mode 100755 diff --git a/indra/newview/Info-SecondLifeVorbis.plist b/indra/newview/Info-SecondLifeVorbis.plist old mode 100644 new mode 100755 diff --git a/indra/newview/Japanese.lproj/language.txt b/indra/newview/Japanese.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/Korean.lproj/language.txt b/indra/newview/Korean.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/SecondLife.nib/classes.nib b/indra/newview/SecondLife.nib/classes.nib old mode 100644 new mode 100755 diff --git a/indra/newview/SecondLife.nib/info.nib b/indra/newview/SecondLife.nib/info.nib old mode 100644 new mode 100755 diff --git a/indra/newview/SecondLife.nib/objects.xib b/indra/newview/SecondLife.nib/objects.xib old mode 100644 new mode 100755 diff --git a/indra/newview/VertexCache.h b/indra/newview/VertexCache.h old mode 100644 new mode 100755 diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake old mode 100644 new mode 100755 diff --git a/indra/newview/VorbisFramework.h b/indra/newview/VorbisFramework.h old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/CA.pem b/indra/newview/app_settings/CA.pem old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/anim.ini b/indra/newview/app_settings/anim.ini old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/cmd_line.xml b/indra/newview/app_settings/cmd_line.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/foldertypes.xml b/indra/newview/app_settings/foldertypes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/grass.xml b/indra/newview/app_settings/grass.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/high_graphics.xml b/indra/newview/app_settings/high_graphics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/ignorable_dialogs.xml b/indra/newview/app_settings/ignorable_dialogs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/keys.ini b/indra/newview/app_settings/keys.ini old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/logcontrol.xml b/indra/newview/app_settings/logcontrol.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/low_graphics.xml b/indra/newview/app_settings/low_graphics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/mid_graphics.xml b/indra/newview/app_settings/mid_graphics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/settings_crash_behavior.xml b/indra/newview/app_settings/settings_crash_behavior.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/settings_files.xml b/indra/newview/app_settings/settings_files.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarSkinV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl b/indra/newview/app_settings/shaders/class1/avatar/avatarV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl b/indra/newview/app_settings/shaders/class1/avatar/eyeballF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl b/indra/newview/app_settings/shaders/class1/avatar/eyeballV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl b/indra/newview/app_settings/shaders/class1/avatar/objectSkinV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/avatar/pickAvatarF.glsl b/indra/newview/app_settings/shaders/class1/avatar/pickAvatarF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/avatar/pickAvatarV.glsl b/indra/newview/app_settings/shaders/class1/avatar/pickAvatarV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/attachmentShadowV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarAlphaV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarShadowV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl b/indra/newview/app_settings/shaders/class1/deferred/avatarV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/blurLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/blurLightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpSkinnedV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl b/indra/newview/app_settings/shaders/class1/deferred/bumpV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/fullbrightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/giF.glsl b/indra/newview/app_settings/shaders/class1/deferred/giF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/giV.glsl b/indra/newview/app_settings/shaders/class1/deferred/giV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl b/indra/newview/app_settings/shaders/class1/deferred/impostorF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl b/indra/newview/app_settings/shaders/class1/deferred/impostorV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl b/indra/newview/app_settings/shaders/class1/deferred/luminanceF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/luminanceV.glsl b/indra/newview/app_settings/shaders/class1/deferred/luminanceV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/multiSpotLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/pointLightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/pointLightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/postgiF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postgiF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/postgiV.glsl b/indra/newview/app_settings/shaders/class1/deferred/postgiV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl b/indra/newview/app_settings/shaders/class1/deferred/shadowV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/spotLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/sunLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/sunLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl b/indra/newview/app_settings/shaders/class1/deferred/sunLightSSAOF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/sunLightV.glsl b/indra/newview/app_settings/shaders/class1/deferred/sunLightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl b/indra/newview/app_settings/shaders/class1/deferred/terrainF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl b/indra/newview/app_settings/shaders/class1/deferred/terrainV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl b/indra/newview/app_settings/shaders/class1/deferred/treeV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl b/indra/newview/app_settings/shaders/class1/deferred/waterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/deferred/waterV.glsl b/indra/newview/app_settings/shaders/class1/deferred/waterV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl b/indra/newview/app_settings/shaders/class1/effects/glowExtractF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl b/indra/newview/app_settings/shaders/class1/effects/glowExtractV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/effects/glowF.glsl b/indra/newview/app_settings/shaders/class1/effects/glowF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/effects/glowV.glsl b/indra/newview/app_settings/shaders/class1/effects/glowV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainF.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainV.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl b/indra/newview/app_settings/shaders/class1/environment/terrainWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/environment/underWaterF.glsl b/indra/newview/app_settings/shaders/class1/environment/underWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/environment/waterF.glsl b/indra/newview/app_settings/shaders/class1/environment/waterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl b/indra/newview/app_settings/shaders/class1/environment/waterFogF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/environment/waterV.glsl b/indra/newview/app_settings/shaders/class1/environment/waterV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl b/indra/newview/app_settings/shaders/class1/interface/highlightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl b/indra/newview/app_settings/shaders/class1/interface/highlightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightShinyWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightWaterF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFullbrightWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFuncSpecularV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightFuncV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightShinyF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightShinyF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightShinyWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightSpecularV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightWaterF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl b/indra/newview/app_settings/shaders/class1/lighting/sumLightsSpecularV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl b/indra/newview/app_settings/shaders/class1/lighting/sumLightsV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightF.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyF.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinySkinnedV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyV.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightShinyWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightSkinnedV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightV.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/fullbrightWaterF.glsl b/indra/newview/app_settings/shaders/class1/objects/fullbrightWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/shinyF.glsl b/indra/newview/app_settings/shaders/class1/objects/shinyF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/shinySimpleSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/shinySimpleSkinnedV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl b/indra/newview/app_settings/shaders/class1/objects/shinyV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/shinyWaterF.glsl b/indra/newview/app_settings/shaders/class1/objects/shinyWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleSkinnedV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleV.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/objects/simpleWaterF.glsl b/indra/newview/app_settings/shaders/class1/objects/simpleWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsHelpersV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl b/indra/newview/app_settings/shaders/class1/windlight/atmosphericsVarsV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl b/indra/newview/app_settings/shaders/class1/windlight/gammaF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class1/windlight/transportF.glsl b/indra/newview/app_settings/shaders/class1/windlight/transportF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/avatar/eyeballV.glsl b/indra/newview/app_settings/shaders/class2/avatar/eyeballV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaSkinnedV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaV.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaV.glsl b/indra/newview/app_settings/shaders/class2/deferred/avatarAlphaV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/blurLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl b/indra/newview/app_settings/shaders/class2/deferred/blurLightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/edgeF.glsl b/indra/newview/app_settings/shaders/class2/deferred/edgeF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/edgeV.glsl b/indra/newview/app_settings/shaders/class2/deferred/edgeV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/multiSpotLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class2/deferred/postDeferredF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/postDeferredV.glsl b/indra/newview/app_settings/shaders/class2/deferred/postDeferredV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/softenLightV.glsl b/indra/newview/app_settings/shaders/class2/deferred/softenLightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/spotLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/sunLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl b/indra/newview/app_settings/shaders/class2/deferred/sunLightSSAOF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/deferred/sunLightV.glsl b/indra/newview/app_settings/shaders/class2/deferred/sunLightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/effects/blurF.glsl b/indra/newview/app_settings/shaders/class2/effects/blurF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/effects/blurV.glsl b/indra/newview/app_settings/shaders/class2/effects/blurV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/effects/colorFilterF.glsl b/indra/newview/app_settings/shaders/class2/effects/colorFilterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/effects/drawQuadV.glsl b/indra/newview/app_settings/shaders/class2/effects/drawQuadV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/effects/extractF.glsl b/indra/newview/app_settings/shaders/class2/effects/extractF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/effects/nightVisionF.glsl b/indra/newview/app_settings/shaders/class2/effects/nightVisionF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/effects/simpleF.glsl b/indra/newview/app_settings/shaders/class2/effects/simpleF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/environment/terrainF.glsl b/indra/newview/app_settings/shaders/class2/environment/terrainF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/environment/terrainV.glsl b/indra/newview/app_settings/shaders/class2/environment/terrainV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/environment/terrainWaterF.glsl b/indra/newview/app_settings/shaders/class2/environment/terrainWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/environment/underWaterF.glsl b/indra/newview/app_settings/shaders/class2/environment/underWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/environment/waterF.glsl b/indra/newview/app_settings/shaders/class2/environment/waterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl b/indra/newview/app_settings/shaders/class2/environment/waterFogF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightShinyWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightWaterF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightFullbrightWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightShinyF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightShinyF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightShinyWaterF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightShinyWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightSpecularV.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightSpecularV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/lightWaterF.glsl b/indra/newview/app_settings/shaders/class2/lighting/lightWaterF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/sumLightsSpecularV.glsl b/indra/newview/app_settings/shaders/class2/lighting/sumLightsSpecularV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/lighting/sumLightsV.glsl b/indra/newview/app_settings/shaders/class2/lighting/sumLightsV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/objects/shinyV.glsl b/indra/newview/app_settings/shaders/class2/objects/shinyV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsHelpersV.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsHelpersV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/atmosphericsVarsV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/gammaF.glsl b/indra/newview/app_settings/shaders/class2/windlight/gammaF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/skyF.glsl b/indra/newview/app_settings/shaders/class2/windlight/skyF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl b/indra/newview/app_settings/shaders/class2/windlight/skyV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl b/indra/newview/app_settings/shaders/class2/windlight/transportF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl b/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/giDownsampleF.glsl b/indra/newview/app_settings/shaders/class3/deferred/giDownsampleF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl b/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/giF.glsl b/indra/newview/app_settings/shaders/class3/deferred/giF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/giFinalF.glsl b/indra/newview/app_settings/shaders/class3/deferred/giFinalF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl b/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/giV.glsl b/indra/newview/app_settings/shaders/class3/deferred/giV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/luminanceF.glsl b/indra/newview/app_settings/shaders/class3/deferred/luminanceF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl b/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class3/deferred/postDeferredF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl b/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/postgiF.glsl b/indra/newview/app_settings/shaders/class3/deferred/postgiF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl b/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/deferred/treeF.glsl b/indra/newview/app_settings/shaders/class3/deferred/treeF.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/lighting/sumLightsSpecularV.glsl b/indra/newview/app_settings/shaders/class3/lighting/sumLightsSpecularV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl b/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/shaders/shader_heirarchy.txt b/indra/newview/app_settings/shaders/shader_heirarchy.txt old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/static_data.db2 b/indra/newview/app_settings/static_data.db2 old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/static_index.db2 b/indra/newview/app_settings/static_index.db2 old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/std_bump.ini b/indra/newview/app_settings/std_bump.ini old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/trees.xml b/indra/newview/app_settings/trees.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/ultra_graphics.xml b/indra/newview/app_settings/ultra_graphics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/viewerart.xml b/indra/newview/app_settings/viewerart.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/clouds2.tga b/indra/newview/app_settings/windlight/clouds2.tga old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/days/Default.xml b/indra/newview/app_settings/windlight/days/Default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/postprocesseffects.xml b/indra/newview/app_settings/windlight/postprocesseffects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/A%2D12AM.xml b/indra/newview/app_settings/windlight/skies/A%2D12AM.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/A%2D12PM.xml b/indra/newview/app_settings/windlight/skies/A%2D12PM.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/A%2D3AM.xml b/indra/newview/app_settings/windlight/skies/A%2D3AM.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/A%2D3PM.xml b/indra/newview/app_settings/windlight/skies/A%2D3PM.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/A%2D6AM.xml b/indra/newview/app_settings/windlight/skies/A%2D6AM.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/A%2D6PM.xml b/indra/newview/app_settings/windlight/skies/A%2D6PM.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/A%2D9AM.xml b/indra/newview/app_settings/windlight/skies/A%2D9AM.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/A%2D9PM.xml b/indra/newview/app_settings/windlight/skies/A%2D9PM.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Barcelona.xml b/indra/newview/app_settings/windlight/skies/Barcelona.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Blizzard.xml b/indra/newview/app_settings/windlight/skies/Blizzard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Blue%20Midday.xml b/indra/newview/app_settings/windlight/skies/Blue%20Midday.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Coastal%20Afternoon.xml b/indra/newview/app_settings/windlight/skies/Coastal%20Afternoon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Coastal%20Sunset.xml b/indra/newview/app_settings/windlight/skies/Coastal%20Sunset.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Default.xml b/indra/newview/app_settings/windlight/skies/Default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Desert%20Sunset.xml b/indra/newview/app_settings/windlight/skies/Desert%20Sunset.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Fine%20Day.xml b/indra/newview/app_settings/windlight/skies/Fine%20Day.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Fluffy%20Big%20Clouds.xml b/indra/newview/app_settings/windlight/skies/Fluffy%20Big%20Clouds.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Foggy.xml b/indra/newview/app_settings/windlight/skies/Foggy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Funky%20Funky%20Funky.xml b/indra/newview/app_settings/windlight/skies/Funky%20Funky%20Funky.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Funky%20Funky.xml b/indra/newview/app_settings/windlight/skies/Funky%20Funky.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Gelatto.xml b/indra/newview/app_settings/windlight/skies/Gelatto.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Ghost.xml b/indra/newview/app_settings/windlight/skies/Ghost.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Incongruent%20Truths.xml b/indra/newview/app_settings/windlight/skies/Incongruent%20Truths.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Midday%201.xml b/indra/newview/app_settings/windlight/skies/Midday%201.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Midday%202.xml b/indra/newview/app_settings/windlight/skies/Midday%202.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Midday%203.xml b/indra/newview/app_settings/windlight/skies/Midday%203.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Midday%204.xml b/indra/newview/app_settings/windlight/skies/Midday%204.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Night.xml b/indra/newview/app_settings/windlight/skies/Night.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Pirate.xml b/indra/newview/app_settings/windlight/skies/Pirate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Purple.xml b/indra/newview/app_settings/windlight/skies/Purple.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Sailor%27s%20Delight.xml b/indra/newview/app_settings/windlight/skies/Sailor%27s%20Delight.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/skies/Sheer%20Surreality.xml b/indra/newview/app_settings/windlight/skies/Sheer%20Surreality.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/water/Default.xml b/indra/newview/app_settings/windlight/water/Default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/water/Glassy.xml b/indra/newview/app_settings/windlight/water/Glassy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/water/Murky.xml b/indra/newview/app_settings/windlight/water/Murky.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/water/Pond.xml b/indra/newview/app_settings/windlight/water/Pond.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/water/SNAKE%21%21%21.xml b/indra/newview/app_settings/windlight/water/SNAKE%21%21%21.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/water/Second%20Plague.xml b/indra/newview/app_settings/windlight/water/Second%20Plague.xml old mode 100644 new mode 100755 diff --git a/indra/newview/app_settings/windlight/water/Valdez.xml b/indra/newview/app_settings/windlight/water/Valdez.xml old mode 100644 new mode 100755 diff --git a/indra/newview/build_win32_appConfig.py b/indra/newview/build_win32_appConfig.py old mode 100644 new mode 100755 diff --git a/indra/newview/character/attentions.xml b/indra/newview/character/attentions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/character/attentionsN.xml b/indra/newview/character/attentionsN.xml old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_eye.llm b/indra/newview/character/avatar_eye.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_eye_1.llm b/indra/newview/character/avatar_eye_1.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_eyelashes.llm b/indra/newview/character/avatar_eyelashes.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_hair.llm b/indra/newview/character/avatar_hair.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_hair_1.llm b/indra/newview/character/avatar_hair_1.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_hair_2.llm b/indra/newview/character/avatar_hair_2.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_hair_3.llm b/indra/newview/character/avatar_hair_3.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_hair_4.llm b/indra/newview/character/avatar_hair_4.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_hair_5.llm b/indra/newview/character/avatar_hair_5.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_head.llm b/indra/newview/character/avatar_head.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_head_1.llm b/indra/newview/character/avatar_head_1.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_head_2.llm b/indra/newview/character/avatar_head_2.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_head_3.llm b/indra/newview/character/avatar_head_3.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_head_4.llm b/indra/newview/character/avatar_head_4.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_lower_body.llm b/indra/newview/character/avatar_lower_body.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_lower_body_1.llm b/indra/newview/character/avatar_lower_body_1.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_lower_body_2.llm b/indra/newview/character/avatar_lower_body_2.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_lower_body_3.llm b/indra/newview/character/avatar_lower_body_3.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_lower_body_4.llm b/indra/newview/character/avatar_lower_body_4.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_skeleton.xml b/indra/newview/character/avatar_skeleton.xml old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_skirt.llm b/indra/newview/character/avatar_skirt.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_skirt_1.llm b/indra/newview/character/avatar_skirt_1.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_skirt_2.llm b/indra/newview/character/avatar_skirt_2.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_skirt_3.llm b/indra/newview/character/avatar_skirt_3.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_skirt_4.llm b/indra/newview/character/avatar_skirt_4.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_upper_body.llm b/indra/newview/character/avatar_upper_body.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_upper_body_1.llm b/indra/newview/character/avatar_upper_body_1.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_upper_body_2.llm b/indra/newview/character/avatar_upper_body_2.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_upper_body_3.llm b/indra/newview/character/avatar_upper_body_3.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/avatar_upper_body_4.llm b/indra/newview/character/avatar_upper_body_4.llm old mode 100644 new mode 100755 diff --git a/indra/newview/character/blush_alpha.tga b/indra/newview/character/blush_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/body_skingrain.tga b/indra/newview/character/body_skingrain.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/bodyfreckles_alpha.tga b/indra/newview/character/bodyfreckles_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/bump_face_wrinkles.tga b/indra/newview/character/bump_face_wrinkles.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/bump_head_base.tga b/indra/newview/character/bump_head_base.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/bump_lowerbody_base.tga b/indra/newview/character/bump_lowerbody_base.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/bump_pants_wrinkles.tga b/indra/newview/character/bump_pants_wrinkles.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/bump_shirt_wrinkles.tga b/indra/newview/character/bump_shirt_wrinkles.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/bump_upperbody_base.tga b/indra/newview/character/bump_upperbody_base.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/checkerboard.tga b/indra/newview/character/checkerboard.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/eyebrows_alpha.tga b/indra/newview/character/eyebrows_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/eyeliner_alpha.tga b/indra/newview/character/eyeliner_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/eyeshadow_inner_alpha.tga b/indra/newview/character/eyeshadow_inner_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/eyeshadow_outer_alpha.tga b/indra/newview/character/eyeshadow_outer_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/eyewhite.tga b/indra/newview/character/eyewhite.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/facehair_chincurtains_alpha.tga b/indra/newview/character/facehair_chincurtains_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/facehair_moustache_alpha.tga b/indra/newview/character/facehair_moustache_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/facehair_sideburns_alpha.tga b/indra/newview/character/facehair_sideburns_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/facehair_soulpatch_alpha.tga b/indra/newview/character/facehair_soulpatch_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/freckles_alpha.tga b/indra/newview/character/freckles_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/genepool.xml b/indra/newview/character/genepool.xml old mode 100644 new mode 100755 diff --git a/indra/newview/character/glove_length_alpha.tga b/indra/newview/character/glove_length_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/gloves_fingers_alpha.tga b/indra/newview/character/gloves_fingers_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/head_alpha.tga b/indra/newview/character/head_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/head_color.tga b/indra/newview/character/head_color.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/head_hair.tga b/indra/newview/character/head_hair.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/head_highlights_alpha.tga b/indra/newview/character/head_highlights_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/head_shading_alpha.tga b/indra/newview/character/head_shading_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/head_skingrain.tga b/indra/newview/character/head_skingrain.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/jacket_length_lower_alpha.tga b/indra/newview/character/jacket_length_lower_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/jacket_length_upper_alpha.tga b/indra/newview/character/jacket_length_upper_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/jacket_open_lower_alpha.tga b/indra/newview/character/jacket_open_lower_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/jacket_open_upper_alpha.tga b/indra/newview/character/jacket_open_upper_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/lipgloss_alpha.tga b/indra/newview/character/lipgloss_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/lips_mask.tga b/indra/newview/character/lips_mask.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/lipstick_alpha.tga b/indra/newview/character/lipstick_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/lowerbody_color.tga b/indra/newview/character/lowerbody_color.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/lowerbody_highlights_alpha.tga b/indra/newview/character/lowerbody_highlights_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/lowerbody_shading_alpha.tga b/indra/newview/character/lowerbody_shading_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/nailpolish_alpha.tga b/indra/newview/character/nailpolish_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/pants_length_alpha.tga b/indra/newview/character/pants_length_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/pants_waist_alpha.tga b/indra/newview/character/pants_waist_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/rosyface_alpha.tga b/indra/newview/character/rosyface_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/rouge_alpha.tga b/indra/newview/character/rouge_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/shirt_bottom_alpha.tga b/indra/newview/character/shirt_bottom_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/shirt_collar_alpha.tga b/indra/newview/character/shirt_collar_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/shirt_collar_back_alpha.tga b/indra/newview/character/shirt_collar_back_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/shirt_sleeve_alpha.tga b/indra/newview/character/shirt_sleeve_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/shoe_height_alpha.tga b/indra/newview/character/shoe_height_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/skirt_length_alpha.tga b/indra/newview/character/skirt_length_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/skirt_slit_back_alpha.tga b/indra/newview/character/skirt_slit_back_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/skirt_slit_front_alpha.tga b/indra/newview/character/skirt_slit_front_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/skirt_slit_left_alpha.tga b/indra/newview/character/skirt_slit_left_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/skirt_slit_right_alpha.tga b/indra/newview/character/skirt_slit_right_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/underpants_trial_female.tga b/indra/newview/character/underpants_trial_female.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/underpants_trial_male.tga b/indra/newview/character/underpants_trial_male.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/undershirt_trial_female.tga b/indra/newview/character/undershirt_trial_female.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/upperbody_color.tga b/indra/newview/character/upperbody_color.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/upperbody_highlights_alpha.tga b/indra/newview/character/upperbody_highlights_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/upperbody_shading_alpha.tga b/indra/newview/character/upperbody_shading_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/character/upperbodyfreckles_alpha.tga b/indra/newview/character/upperbodyfreckles_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_ARROW.tif b/indra/newview/cursors_mac/UI_CURSOR_ARROW.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_ARROWDRAG.tif b/indra/newview/cursors_mac/UI_CURSOR_ARROWDRAG.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_ARROWLOCKED.tif b/indra/newview/cursors_mac/UI_CURSOR_ARROWLOCKED.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_GRABLOCKED.tif b/indra/newview/cursors_mac/UI_CURSOR_GRABLOCKED.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_NO.tif b/indra/newview/cursors_mac/UI_CURSOR_NO.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_NOLOCKED.tif b/indra/newview/cursors_mac/UI_CURSOR_NOLOCKED.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_SIZENESW.tif b/indra/newview/cursors_mac/UI_CURSOR_SIZENESW.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_SIZENS.tif b/indra/newview/cursors_mac/UI_CURSOR_SIZENS.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_SIZENWSE.tif b/indra/newview/cursors_mac/UI_CURSOR_SIZENWSE.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_SIZEWE.tif b/indra/newview/cursors_mac/UI_CURSOR_SIZEWE.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLBUY.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLCAMERA.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLCAMERA.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLCREATE.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLCREATE.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLFOCUS.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLFOCUS.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLGRAB.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLGRAB.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLLAND.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLLAND.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLMEDIAOPEN.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLMEDIAOPEN.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLOPEN.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLPAN.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLPAN.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLPAUSE.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLPAUSE.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLPICKOBJECT3.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLPICKOBJECT3.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLPLAY.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLPLAY.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLROTATE.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLROTATE.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLSCALE.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLSCALE.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLSIT.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLTRANSLATE.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLTRANSLATE.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_TOOLZOOMIN.tif b/indra/newview/cursors_mac/UI_CURSOR_TOOLZOOMIN.tif old mode 100644 new mode 100755 diff --git a/indra/newview/cursors_mac/UI_CURSOR_WORKING.tif b/indra/newview/cursors_mac/UI_CURSOR_WORKING.tif old mode 100644 new mode 100755 diff --git a/indra/newview/da.lproj/language.txt b/indra/newview/da.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/es.lproj/language.txt b/indra/newview/es.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt old mode 100644 new mode 100755 diff --git a/indra/newview/featuretable_linux.txt b/indra/newview/featuretable_linux.txt old mode 100644 new mode 100755 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt old mode 100644 new mode 100755 diff --git a/indra/newview/featuretable_solaris.txt b/indra/newview/featuretable_solaris.txt old mode 100644 new mode 100755 diff --git a/indra/newview/fmod_hidden_symbols.exp b/indra/newview/fmod_hidden_symbols.exp old mode 100644 new mode 100755 diff --git a/indra/newview/fmodwrapper.cpp b/indra/newview/fmodwrapper.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/fonts/DejaVu-license.txt b/indra/newview/fonts/DejaVu-license.txt old mode 100644 new mode 100755 diff --git a/indra/newview/fonts/DejaVuSans-Bold.ttf b/indra/newview/fonts/DejaVuSans-Bold.ttf old mode 100644 new mode 100755 diff --git a/indra/newview/fonts/DejaVuSans-BoldOblique.ttf b/indra/newview/fonts/DejaVuSans-BoldOblique.ttf old mode 100644 new mode 100755 diff --git a/indra/newview/fonts/DejaVuSans-Oblique.ttf b/indra/newview/fonts/DejaVuSans-Oblique.ttf old mode 100644 new mode 100755 diff --git a/indra/newview/fonts/DejaVuSans.ttf b/indra/newview/fonts/DejaVuSans.ttf old mode 100644 new mode 100755 diff --git a/indra/newview/fonts/DejaVuSansMono.ttf b/indra/newview/fonts/DejaVuSansMono.ttf old mode 100644 new mode 100755 diff --git a/indra/newview/fr.lproj/language.txt b/indra/newview/fr.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/generate_breakpad_symbols.py b/indra/newview/generate_breakpad_symbols.py old mode 100644 new mode 100755 diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt old mode 100644 new mode 100755 diff --git a/indra/newview/hu.lproj/language.txt b/indra/newview/hu.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/dmg-cleanup.applescript b/indra/newview/installers/darwin/dmg-cleanup.applescript old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/firstlook-dmg/Applications-alias.r b/indra/newview/installers/darwin/firstlook-dmg/Applications-alias.r old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/firstlook-dmg/_DS_Store b/indra/newview/installers/darwin/firstlook-dmg/_DS_Store old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/firstlook-dmg/_VolumeIcon.icns b/indra/newview/installers/darwin/firstlook-dmg/_VolumeIcon.icns old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/firstlook-dmg/background.jpg b/indra/newview/installers/darwin/firstlook-dmg/background.jpg old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/fix_application_icon_position.sh b/indra/newview/installers/darwin/fix_application_icon_position.sh old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/publicnightly-dmg/Applications-alias.r b/indra/newview/installers/darwin/publicnightly-dmg/Applications-alias.r old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/publicnightly-dmg/_DS_Store b/indra/newview/installers/darwin/publicnightly-dmg/_DS_Store old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/publicnightly-dmg/_VolumeIcon.icns b/indra/newview/installers/darwin/publicnightly-dmg/_VolumeIcon.icns old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/publicnightly-dmg/background.jpg b/indra/newview/installers/darwin/publicnightly-dmg/background.jpg old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/release-dmg/Applications-alias.r b/indra/newview/installers/darwin/release-dmg/Applications-alias.r old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/release-dmg/_DS_Store b/indra/newview/installers/darwin/release-dmg/_DS_Store old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/release-dmg/_VolumeIcon.icns b/indra/newview/installers/darwin/release-dmg/_VolumeIcon.icns old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/release-dmg/background.jpg b/indra/newview/installers/darwin/release-dmg/background.jpg old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/releasecandidate-dmg/Applications-alias.r b/indra/newview/installers/darwin/releasecandidate-dmg/Applications-alias.r old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/releasecandidate-dmg/_DS_Store b/indra/newview/installers/darwin/releasecandidate-dmg/_DS_Store old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/releasecandidate-dmg/_VolumeIcon.icns b/indra/newview/installers/darwin/releasecandidate-dmg/_VolumeIcon.icns old mode 100644 new mode 100755 diff --git a/indra/newview/installers/darwin/releasecandidate-dmg/background.jpg b/indra/newview/installers/darwin/releasecandidate-dmg/background.jpg old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/FILES_ARE_UNICODE_UTF-16LE.txt b/indra/newview/installers/windows/FILES_ARE_UNICODE_UTF-16LE.txt old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/install_icon.BMP b/indra/newview/installers/windows/install_icon.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/install_icon.ico b/indra/newview/installers/windows/install_icon.ico old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_da.nsi b/indra/newview/installers/windows/lang_da.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_de.nsi b/indra/newview/installers/windows/lang_de.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_en-us.nsi b/indra/newview/installers/windows/lang_en-us.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_es.nsi b/indra/newview/installers/windows/lang_es.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_fr.nsi b/indra/newview/installers/windows/lang_fr.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_it.nsi b/indra/newview/installers/windows/lang_it.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_ja.nsi b/indra/newview/installers/windows/lang_ja.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_ko.nsi b/indra/newview/installers/windows/lang_ko.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_nl.nsi b/indra/newview/installers/windows/lang_nl.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_pl.nsi b/indra/newview/installers/windows/lang_pl.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_pt-br.nsi b/indra/newview/installers/windows/lang_pt-br.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/lang_zh.nsi b/indra/newview/installers/windows/lang_zh.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/language_menu.nsi b/indra/newview/installers/windows/language_menu.nsi old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/uninstall_icon.BMP b/indra/newview/installers/windows/uninstall_icon.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/installers/windows/uninstall_icon.ico b/indra/newview/installers/windows/uninstall_icon.ico old mode 100644 new mode 100755 diff --git a/indra/newview/it.lproj/language.txt b/indra/newview/it.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/licenses-linux.txt b/indra/newview/licenses-linux.txt old mode 100644 new mode 100755 diff --git a/indra/newview/licenses-mac.txt b/indra/newview/licenses-mac.txt old mode 100644 new mode 100755 diff --git a/indra/newview/licenses-solaris.txt b/indra/newview/licenses-solaris.txt old mode 100644 new mode 100755 diff --git a/indra/newview/licenses-win32.txt b/indra/newview/licenses-win32.txt old mode 100644 new mode 100755 diff --git a/indra/newview/linux_tools/client-readme-joystick.txt b/indra/newview/linux_tools/client-readme-joystick.txt old mode 100644 new mode 100755 diff --git a/indra/newview/linux_tools/client-readme-voice.txt b/indra/newview/linux_tools/client-readme-voice.txt old mode 100644 new mode 100755 diff --git a/indra/newview/linux_tools/client-readme.txt b/indra/newview/linux_tools/client-readme.txt old mode 100644 new mode 100755 diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentaccess.cpp b/indra/newview/llagentaccess.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentaccess.h b/indra/newview/llagentaccess.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentcamera.h b/indra/newview/llagentcamera.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentdata.cpp b/indra/newview/llagentdata.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentdata.h b/indra/newview/llagentdata.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentlanguage.cpp b/indra/newview/llagentlanguage.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentlanguage.h b/indra/newview/llagentlanguage.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentlistener.cpp b/indra/newview/llagentlistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentlistener.h b/indra/newview/llagentlistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentpicksinfo.cpp b/indra/newview/llagentpicksinfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentpicksinfo.h b/indra/newview/llagentpicksinfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentpilot.cpp b/indra/newview/llagentpilot.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentpilot.h b/indra/newview/llagentpilot.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentui.cpp b/indra/newview/llagentui.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentui.h b/indra/newview/llagentui.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentwearables.h b/indra/newview/llagentwearables.h old mode 100644 new mode 100755 diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llagentwearablesfetch.h b/indra/newview/llagentwearablesfetch.h old mode 100644 new mode 100755 diff --git a/indra/newview/llanimstatelabels.cpp b/indra/newview/llanimstatelabels.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llanimstatelabels.h b/indra/newview/llanimstatelabels.h old mode 100644 new mode 100755 diff --git a/indra/newview/llappearance.h b/indra/newview/llappearance.h old mode 100644 new mode 100755 diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerlinux.cpp b/indra/newview/llappviewerlinux.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerlinux.h b/indra/newview/llappviewerlinux.h old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerlinux_api.h b/indra/newview/llappviewerlinux_api.h old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerlinux_api.xml b/indra/newview/llappviewerlinux_api.xml old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerlinux_api_dbus.cpp b/indra/newview/llappviewerlinux_api_dbus.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerlinux_api_dbus.h b/indra/newview/llappviewerlinux_api_dbus.h old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerlinux_api_dbus_syms_raw.inc b/indra/newview/llappviewerlinux_api_dbus_syms_raw.inc old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerlistener.cpp b/indra/newview/llappviewerlistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerlistener.h b/indra/newview/llappviewerlistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewermacosx.h b/indra/newview/llappviewermacosx.h old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llappviewerwin32.h b/indra/newview/llappviewerwin32.h old mode 100644 new mode 100755 diff --git a/indra/newview/llassetuploadqueue.cpp b/indra/newview/llassetuploadqueue.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llassetuploadqueue.h b/indra/newview/llassetuploadqueue.h old mode 100644 new mode 100755 diff --git a/indra/newview/llassetuploadresponders.cpp b/indra/newview/llassetuploadresponders.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llassetuploadresponders.h b/indra/newview/llassetuploadresponders.h old mode 100644 new mode 100755 diff --git a/indra/newview/llaudiosourcevo.cpp b/indra/newview/llaudiosourcevo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llaudiosourcevo.h b/indra/newview/llaudiosourcevo.h old mode 100644 new mode 100755 diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llavataractions.h b/indra/newview/llavataractions.h old mode 100644 new mode 100755 diff --git a/indra/newview/llavatariconctrl.cpp b/indra/newview/llavatariconctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llavatariconctrl.h b/indra/newview/llavatariconctrl.h old mode 100644 new mode 100755 diff --git a/indra/newview/llavatarlist.cpp b/indra/newview/llavatarlist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llavatarlist.h b/indra/newview/llavatarlist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llavatarlistitem.cpp b/indra/newview/llavatarlistitem.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llavatarlistitem.h b/indra/newview/llavatarlistitem.h old mode 100644 new mode 100755 diff --git a/indra/newview/llavatarpropertiesprocessor.cpp b/indra/newview/llavatarpropertiesprocessor.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llavatarpropertiesprocessor.h b/indra/newview/llavatarpropertiesprocessor.h old mode 100644 new mode 100755 diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h old mode 100644 new mode 100755 diff --git a/indra/newview/llbox.cpp b/indra/newview/llbox.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llbox.h b/indra/newview/llbox.h old mode 100644 new mode 100755 diff --git a/indra/newview/llbreadcrumbview.cpp b/indra/newview/llbreadcrumbview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llbreadcrumbview.h b/indra/newview/llbreadcrumbview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llbuycurrencyhtml.cpp b/indra/newview/llbuycurrencyhtml.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llbuycurrencyhtml.h b/indra/newview/llbuycurrencyhtml.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcallbacklist.cpp b/indra/newview/llcallbacklist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcallbacklist.h b/indra/newview/llcallbacklist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcallingcard.h b/indra/newview/llcallingcard.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcapabilitylistener.cpp b/indra/newview/llcapabilitylistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcapabilitylistener.h b/indra/newview/llcapabilitylistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcapabilityprovider.h b/indra/newview/llcapabilityprovider.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcaphttpsender.cpp b/indra/newview/llcaphttpsender.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcaphttpsender.h b/indra/newview/llcaphttpsender.h old mode 100644 new mode 100755 diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llchannelmanager.h b/indra/newview/llchannelmanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llchatbar.h b/indra/newview/llchatbar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llchathistory.h b/indra/newview/llchathistory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llchatitemscontainerctrl.h b/indra/newview/llchatitemscontainerctrl.h old mode 100644 new mode 100755 diff --git a/indra/newview/llchatmsgbox.cpp b/indra/newview/llchatmsgbox.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llchatmsgbox.h b/indra/newview/llchatmsgbox.h old mode 100644 new mode 100755 diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llchiclet.h b/indra/newview/llchiclet.h old mode 100644 new mode 100755 diff --git a/indra/newview/llclassifiedinfo.cpp b/indra/newview/llclassifiedinfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llclassifiedinfo.h b/indra/newview/llclassifiedinfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/llclassifiedstatsresponder.cpp b/indra/newview/llclassifiedstatsresponder.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llclassifiedstatsresponder.h b/indra/newview/llclassifiedstatsresponder.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcloud.cpp b/indra/newview/llcloud.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcloud.h b/indra/newview/llcloud.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcofwearables.h b/indra/newview/llcofwearables.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcolorswatch.cpp b/indra/newview/llcolorswatch.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcolorswatch.h b/indra/newview/llcolorswatch.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcommanddispatcherlistener.cpp b/indra/newview/llcommanddispatcherlistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcommanddispatcherlistener.h b/indra/newview/llcommanddispatcherlistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcommandhandler.cpp b/indra/newview/llcommandhandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcommandhandler.h b/indra/newview/llcommandhandler.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcommandlineparser.cpp b/indra/newview/llcommandlineparser.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcommandlineparser.h b/indra/newview/llcommandlineparser.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcompilequeue.h b/indra/newview/llcompilequeue.h old mode 100644 new mode 100755 diff --git a/indra/newview/llconfirmationmanager.cpp b/indra/newview/llconfirmationmanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llconfirmationmanager.h b/indra/newview/llconfirmationmanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcurrencyuimanager.cpp b/indra/newview/llcurrencyuimanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcurrencyuimanager.h b/indra/newview/llcurrencyuimanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llcylinder.cpp b/indra/newview/llcylinder.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llcylinder.h b/indra/newview/llcylinder.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldateutil.cpp b/indra/newview/lldateutil.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldateutil.h b/indra/newview/lldateutil.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldebugmessagebox.cpp b/indra/newview/lldebugmessagebox.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldebugmessagebox.h b/indra/newview/lldebugmessagebox.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldebugview.cpp b/indra/newview/lldebugview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldebugview.h b/indra/newview/lldebugview.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldelayedgestureerror.cpp b/indra/newview/lldelayedgestureerror.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldelayedgestureerror.h b/indra/newview/lldelayedgestureerror.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldirpicker.cpp b/indra/newview/lldirpicker.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldirpicker.h b/indra/newview/lldirpicker.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldndbutton.cpp b/indra/newview/lldndbutton.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldndbutton.h b/indra/newview/lldndbutton.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawable.h b/indra/newview/lldrawable.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpool.h b/indra/newview/lldrawpool.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolalpha.h b/indra/newview/lldrawpoolalpha.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolavatar.h b/indra/newview/lldrawpoolavatar.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolbump.h b/indra/newview/lldrawpoolbump.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolclouds.cpp b/indra/newview/lldrawpoolclouds.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolclouds.h b/indra/newview/lldrawpoolclouds.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolground.cpp b/indra/newview/lldrawpoolground.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolground.h b/indra/newview/lldrawpoolground.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolsimple.cpp b/indra/newview/lldrawpoolsimple.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolsimple.h b/indra/newview/lldrawpoolsimple.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolsky.cpp b/indra/newview/lldrawpoolsky.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolsky.h b/indra/newview/lldrawpoolsky.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolterrain.cpp b/indra/newview/lldrawpoolterrain.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolterrain.h b/indra/newview/lldrawpoolterrain.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpooltree.cpp b/indra/newview/lldrawpooltree.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpooltree.h b/indra/newview/lldrawpooltree.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolwater.h b/indra/newview/lldrawpoolwater.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolwlsky.cpp b/indra/newview/lldrawpoolwlsky.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldrawpoolwlsky.h b/indra/newview/lldrawpoolwlsky.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldriverparam.cpp b/indra/newview/lldriverparam.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldriverparam.h b/indra/newview/lldriverparam.h old mode 100644 new mode 100755 diff --git a/indra/newview/lldynamictexture.cpp b/indra/newview/lldynamictexture.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lldynamictexture.h b/indra/newview/lldynamictexture.h old mode 100644 new mode 100755 diff --git a/indra/newview/llemote.cpp b/indra/newview/llemote.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llemote.h b/indra/newview/llemote.h old mode 100644 new mode 100755 diff --git a/indra/newview/lleventinfo.cpp b/indra/newview/lleventinfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lleventinfo.h b/indra/newview/lleventinfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/lleventnotifier.cpp b/indra/newview/lleventnotifier.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lleventnotifier.h b/indra/newview/lleventnotifier.h old mode 100644 new mode 100755 diff --git a/indra/newview/lleventpoll.cpp b/indra/newview/lleventpoll.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lleventpoll.h b/indra/newview/lleventpoll.h old mode 100644 new mode 100755 diff --git a/indra/newview/llexpandabletextbox.cpp b/indra/newview/llexpandabletextbox.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llexpandabletextbox.h b/indra/newview/llexpandabletextbox.h old mode 100644 new mode 100755 diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llface.h b/indra/newview/llface.h old mode 100644 new mode 100755 diff --git a/indra/newview/llface.inl b/indra/newview/llface.inl old mode 100644 new mode 100755 diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfasttimerview.h b/indra/newview/llfasttimerview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfeaturemanager.h b/indra/newview/llfeaturemanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfilepicker.h b/indra/newview/llfilepicker.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfilteredwearablelist.cpp b/indra/newview/llfilteredwearablelist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfilteredwearablelist.h b/indra/newview/llfilteredwearablelist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfirstuse.cpp b/indra/newview/llfirstuse.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfirstuse.h b/indra/newview/llfirstuse.h old mode 100644 new mode 100755 diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llflexibleobject.h b/indra/newview/llflexibleobject.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterabout.cpp b/indra/newview/llfloaterabout.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterabout.h b/indra/newview/llfloaterabout.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateranimpreview.cpp b/indra/newview/llfloateranimpreview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateranimpreview.h b/indra/newview/llfloateranimpreview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterauction.cpp b/indra/newview/llfloaterauction.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterauction.h b/indra/newview/llfloaterauction.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateravatarpicker.h b/indra/newview/llfloateravatarpicker.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateravatartextures.cpp b/indra/newview/llfloateravatartextures.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateravatartextures.h b/indra/newview/llfloateravatartextures.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbeacons.cpp b/indra/newview/llfloaterbeacons.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbeacons.h b/indra/newview/llfloaterbeacons.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuildoptions.cpp b/indra/newview/llfloaterbuildoptions.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuildoptions.h b/indra/newview/llfloaterbuildoptions.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbulkpermission.cpp b/indra/newview/llfloaterbulkpermission.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbulkpermission.h b/indra/newview/llfloaterbulkpermission.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbump.cpp b/indra/newview/llfloaterbump.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbump.h b/indra/newview/llfloaterbump.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuy.cpp b/indra/newview/llfloaterbuy.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuy.h b/indra/newview/llfloaterbuy.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuycontents.cpp b/indra/newview/llfloaterbuycontents.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuycontents.h b/indra/newview/llfloaterbuycontents.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuycurrency.cpp b/indra/newview/llfloaterbuycurrency.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuycurrency.h b/indra/newview/llfloaterbuycurrency.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuycurrencyhtml.cpp b/indra/newview/llfloaterbuycurrencyhtml.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuycurrencyhtml.h b/indra/newview/llfloaterbuycurrencyhtml.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterbuyland.h b/indra/newview/llfloaterbuyland.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterchat.h b/indra/newview/llfloaterchat.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterchatterbox.cpp b/indra/newview/llfloaterchatterbox.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterchatterbox.h b/indra/newview/llfloaterchatterbox.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatercolorpicker.cpp b/indra/newview/llfloatercolorpicker.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatercolorpicker.h b/indra/newview/llfloatercolorpicker.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterdaycycle.cpp b/indra/newview/llfloaterdaycycle.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterdaycycle.h b/indra/newview/llfloaterdaycycle.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterenvsettings.cpp b/indra/newview/llfloaterenvsettings.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterenvsettings.h b/indra/newview/llfloaterenvsettings.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterevent.cpp b/indra/newview/llfloaterevent.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterevent.h b/indra/newview/llfloaterevent.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterfonttest.cpp b/indra/newview/llfloaterfonttest.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterfonttest.h b/indra/newview/llfloaterfonttest.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterfriends.cpp b/indra/newview/llfloaterfriends.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterfriends.h b/indra/newview/llfloaterfriends.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatergesture.cpp b/indra/newview/llfloatergesture.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatergesture.h b/indra/newview/llfloatergesture.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatergodtools.cpp b/indra/newview/llfloatergodtools.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatergodtools.h b/indra/newview/llfloatergodtools.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatergroupinvite.cpp b/indra/newview/llfloatergroupinvite.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatergroupinvite.h b/indra/newview/llfloatergroupinvite.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatergroups.cpp b/indra/newview/llfloatergroups.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatergroups.h b/indra/newview/llfloatergroups.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterhandler.cpp b/indra/newview/llfloaterhandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterhandler.h b/indra/newview/llfloaterhandler.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterhardwaresettings.cpp b/indra/newview/llfloaterhardwaresettings.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterhardwaresettings.h b/indra/newview/llfloaterhardwaresettings.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterhelpbrowser.cpp b/indra/newview/llfloaterhelpbrowser.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterhelpbrowser.h b/indra/newview/llfloaterhelpbrowser.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterhud.cpp b/indra/newview/llfloaterhud.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterhud.h b/indra/newview/llfloaterhud.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterimagepreview.h b/indra/newview/llfloaterimagepreview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterimportcollada.cpp b/indra/newview/llfloaterimportcollada.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterimportcollada.h b/indra/newview/llfloaterimportcollada.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterinspect.cpp b/indra/newview/llfloaterinspect.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterinspect.h b/indra/newview/llfloaterinspect.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterinventory.cpp b/indra/newview/llfloaterinventory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterinventory.h b/indra/newview/llfloaterinventory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterjoystick.cpp b/indra/newview/llfloaterjoystick.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterjoystick.h b/indra/newview/llfloaterjoystick.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterlagmeter.cpp b/indra/newview/llfloaterlagmeter.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterlagmeter.h b/indra/newview/llfloaterlagmeter.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterlandholdings.cpp b/indra/newview/llfloaterlandholdings.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterlandholdings.h b/indra/newview/llfloaterlandholdings.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermap.h b/indra/newview/llfloatermap.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermediabrowser.h b/indra/newview/llfloatermediabrowser.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermediasettings.cpp b/indra/newview/llfloatermediasettings.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermediasettings.h b/indra/newview/llfloatermediasettings.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermemleak.cpp b/indra/newview/llfloatermemleak.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermemleak.h b/indra/newview/llfloatermemleak.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaternamedesc.cpp b/indra/newview/llfloaternamedesc.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaternamedesc.h b/indra/newview/llfloaternamedesc.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaternotificationsconsole.cpp b/indra/newview/llfloaternotificationsconsole.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaternotificationsconsole.h b/indra/newview/llfloaternotificationsconsole.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateropenobject.cpp b/indra/newview/llfloateropenobject.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateropenobject.h b/indra/newview/llfloateropenobject.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterpay.cpp b/indra/newview/llfloaterpay.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterpay.h b/indra/newview/llfloaterpay.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterperms.cpp b/indra/newview/llfloaterperms.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterperms.h b/indra/newview/llfloaterperms.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterpostcard.cpp b/indra/newview/llfloaterpostcard.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterpostcard.h b/indra/newview/llfloaterpostcard.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterpostprocess.cpp b/indra/newview/llfloaterpostprocess.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterpostprocess.h b/indra/newview/llfloaterpostprocess.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterproperties.cpp b/indra/newview/llfloaterproperties.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterproperties.h b/indra/newview/llfloaterproperties.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterreporter.h b/indra/newview/llfloaterreporter.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterscriptdebug.cpp b/indra/newview/llfloaterscriptdebug.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterscriptdebug.h b/indra/newview/llfloaterscriptdebug.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterscriptlimits.cpp b/indra/newview/llfloaterscriptlimits.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterscriptlimits.h b/indra/newview/llfloaterscriptlimits.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatersearch.h b/indra/newview/llfloatersearch.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatersellland.cpp b/indra/newview/llfloatersellland.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatersellland.h b/indra/newview/llfloatersellland.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatersettingsdebug.cpp b/indra/newview/llfloatersettingsdebug.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatersettingsdebug.h b/indra/newview/llfloatersettingsdebug.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatersnapshot.h b/indra/newview/llfloatersnapshot.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertelehub.cpp b/indra/newview/llfloatertelehub.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertelehub.h b/indra/newview/llfloatertelehub.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertestinspectors.cpp b/indra/newview/llfloatertestinspectors.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertestinspectors.h b/indra/newview/llfloatertestinspectors.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertestlistview.cpp b/indra/newview/llfloatertestlistview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertestlistview.h b/indra/newview/llfloatertestlistview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertools.h b/indra/newview/llfloatertools.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertopobjects.h b/indra/newview/llfloatertopobjects.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertos.cpp b/indra/newview/llfloatertos.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatertos.h b/indra/newview/llfloatertos.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloateruipreview.h b/indra/newview/llfloateruipreview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterurlentry.cpp b/indra/newview/llfloaterurlentry.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterurlentry.h b/indra/newview/llfloaterurlentry.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatervoicedevicesettings.cpp b/indra/newview/llfloatervoicedevicesettings.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatervoicedevicesettings.h b/indra/newview/llfloatervoicedevicesettings.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatervoiceeffect.cpp b/indra/newview/llfloatervoiceeffect.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloatervoiceeffect.h b/indra/newview/llfloatervoiceeffect.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterwater.cpp b/indra/newview/llfloaterwater.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterwater.h b/indra/newview/llfloaterwater.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterwhitelistentry.cpp b/indra/newview/llfloaterwhitelistentry.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterwhitelistentry.h b/indra/newview/llfloaterwhitelistentry.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterwindlight.cpp b/indra/newview/llfloaterwindlight.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterwindlight.h b/indra/newview/llfloaterwindlight.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterwindowsize.cpp b/indra/newview/llfloaterwindowsize.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterwindowsize.h b/indra/newview/llfloaterwindowsize.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfloaterworldmap.h b/indra/newview/llfloaterworldmap.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfoldervieweventlistener.h b/indra/newview/llfoldervieweventlistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfolderviewitem.h b/indra/newview/llfolderviewitem.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfollowcam.cpp b/indra/newview/llfollowcam.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfollowcam.h b/indra/newview/llfollowcam.h old mode 100644 new mode 100755 diff --git a/indra/newview/llfriendcard.cpp b/indra/newview/llfriendcard.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llfriendcard.h b/indra/newview/llfriendcard.h old mode 100644 new mode 100755 diff --git a/indra/newview/llgesturemgr.cpp b/indra/newview/llgesturemgr.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llgesturemgr.h b/indra/newview/llgesturemgr.h old mode 100644 new mode 100755 diff --git a/indra/newview/llgiveinventory.cpp b/indra/newview/llgiveinventory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llgiveinventory.h b/indra/newview/llgiveinventory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llgroupactions.h b/indra/newview/llgroupactions.h old mode 100644 new mode 100755 diff --git a/indra/newview/llgroupiconctrl.cpp b/indra/newview/llgroupiconctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llgroupiconctrl.h b/indra/newview/llgroupiconctrl.h old mode 100644 new mode 100755 diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llgrouplist.h b/indra/newview/llgrouplist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llgroupmgr.h b/indra/newview/llgroupmgr.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhomelocationresponder.cpp b/indra/newview/llhomelocationresponder.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhomelocationresponder.h b/indra/newview/llhomelocationresponder.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffect.cpp b/indra/newview/llhudeffect.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffect.h b/indra/newview/llhudeffect.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffectbeam.cpp b/indra/newview/llhudeffectbeam.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffectbeam.h b/indra/newview/llhudeffectbeam.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffectlookat.cpp b/indra/newview/llhudeffectlookat.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffectlookat.h b/indra/newview/llhudeffectlookat.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffectpointat.cpp b/indra/newview/llhudeffectpointat.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffectpointat.h b/indra/newview/llhudeffectpointat.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffecttrail.cpp b/indra/newview/llhudeffecttrail.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudeffecttrail.h b/indra/newview/llhudeffecttrail.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudicon.cpp b/indra/newview/llhudicon.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudicon.h b/indra/newview/llhudicon.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudmanager.cpp b/indra/newview/llhudmanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudmanager.h b/indra/newview/llhudmanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudobject.cpp b/indra/newview/llhudobject.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudobject.h b/indra/newview/llhudobject.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudrender.cpp b/indra/newview/llhudrender.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudrender.h b/indra/newview/llhudrender.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudtext.h b/indra/newview/llhudtext.h old mode 100644 new mode 100755 diff --git a/indra/newview/llhudview.cpp b/indra/newview/llhudview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llhudview.h b/indra/newview/llhudview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llimfloater.h b/indra/newview/llimfloater.h old mode 100644 new mode 100755 diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llimfloatercontainer.h b/indra/newview/llimfloatercontainer.h old mode 100644 new mode 100755 diff --git a/indra/newview/llimhandler.cpp b/indra/newview/llimhandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llimpanel.h b/indra/newview/llimpanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinspect.cpp b/indra/newview/llinspect.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinspect.h b/indra/newview/llinspect.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinspectavatar.h b/indra/newview/llinspectavatar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinspectgroup.cpp b/indra/newview/llinspectgroup.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinspectgroup.h b/indra/newview/llinspectgroup.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinspectobject.cpp b/indra/newview/llinspectobject.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinspectobject.h b/indra/newview/llinspectobject.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinspectremoteobject.cpp b/indra/newview/llinspectremoteobject.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinspectremoteobject.h b/indra/newview/llinspectremoteobject.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinspecttoast.cpp b/indra/newview/llinspecttoast.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinspecttoast.h b/indra/newview/llinspecttoast.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryactions.h b/indra/newview/llinventoryactions.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryclipboard.cpp b/indra/newview/llinventoryclipboard.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryclipboard.h b/indra/newview/llinventoryclipboard.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryfunctions.h b/indra/newview/llinventoryfunctions.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryicon.cpp b/indra/newview/llinventoryicon.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryicon.h b/indra/newview/llinventoryicon.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryitemslist.cpp b/indra/newview/llinventoryitemslist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryitemslist.h b/indra/newview/llinventoryitemslist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorylistitem.cpp b/indra/newview/llinventorylistitem.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorylistitem.h b/indra/newview/llinventorylistitem.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorymodelbackgroundfetch.cpp b/indra/newview/llinventorymodelbackgroundfetch.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorymodelbackgroundfetch.h b/indra/newview/llinventorymodelbackgroundfetch.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryobserver.cpp b/indra/newview/llinventoryobserver.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventoryobserver.h b/indra/newview/llinventoryobserver.h old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/lljoystickbutton.cpp b/indra/newview/lljoystickbutton.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lljoystickbutton.h b/indra/newview/lljoystickbutton.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllandmarkactions.cpp b/indra/newview/lllandmarkactions.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllandmarkactions.h b/indra/newview/lllandmarkactions.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllandmarklist.cpp b/indra/newview/lllandmarklist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllandmarklist.h b/indra/newview/lllandmarklist.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllightconstants.h b/indra/newview/lllightconstants.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllistbrowser.cpp b/indra/newview/lllistbrowser.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllistbrowser.h b/indra/newview/lllistbrowser.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllistcontextmenu.cpp b/indra/newview/lllistcontextmenu.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllistcontextmenu.h b/indra/newview/lllistcontextmenu.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllistview.cpp b/indra/newview/lllistview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllistview.h b/indra/newview/lllistview.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllocaltextureobject.cpp b/indra/newview/lllocaltextureobject.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllocaltextureobject.h b/indra/newview/lllocaltextureobject.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllocationhistory.cpp b/indra/newview/lllocationhistory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllocationhistory.h b/indra/newview/lllocationhistory.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllocationinputctrl.h b/indra/newview/lllocationinputctrl.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllogchat.h b/indra/newview/lllogchat.h old mode 100644 new mode 100755 diff --git a/indra/newview/llloginhandler.cpp b/indra/newview/llloginhandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llloginhandler.h b/indra/newview/llloginhandler.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lllogininstance.h b/indra/newview/lllogininstance.h old mode 100644 new mode 100755 diff --git a/indra/newview/lllookshistorypanel.h b/indra/newview/lllookshistorypanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmachineid.cpp b/indra/newview/llmachineid.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmachineid.h b/indra/newview/llmachineid.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmanip.cpp b/indra/newview/llmanip.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmanip.h b/indra/newview/llmanip.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmaniprotate.cpp b/indra/newview/llmaniprotate.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmaniprotate.h b/indra/newview/llmaniprotate.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmanipscale.h b/indra/newview/llmanipscale.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmaniptranslate.cpp b/indra/newview/llmaniptranslate.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmaniptranslate.h b/indra/newview/llmaniptranslate.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmediactrl.h b/indra/newview/llmediactrl.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmediadataclient.cpp b/indra/newview/llmediadataclient.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmediadataclient.h b/indra/newview/llmediadataclient.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmemoryview.cpp b/indra/newview/llmemoryview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmemoryview.h b/indra/newview/llmemoryview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmenucommands.cpp b/indra/newview/llmenucommands.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmenucommands.h b/indra/newview/llmenucommands.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmeshreduction.cpp b/indra/newview/llmeshreduction.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmeshreduction.h b/indra/newview/llmeshreduction.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmeshrepository.h b/indra/newview/llmeshrepository.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmetricperformancetester.cpp b/indra/newview/llmetricperformancetester.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmetricperformancetester.h b/indra/newview/llmetricperformancetester.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmimetypes.cpp b/indra/newview/llmimetypes.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmimetypes.h b/indra/newview/llmimetypes.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmorphview.cpp b/indra/newview/llmorphview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmorphview.h b/indra/newview/llmorphview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llmutelist.h b/indra/newview/llmutelist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnamebox.cpp b/indra/newview/llnamebox.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnamebox.h b/indra/newview/llnamebox.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnameeditor.cpp b/indra/newview/llnameeditor.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnameeditor.h b/indra/newview/llnameeditor.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnamelistctrl.h b/indra/newview/llnamelistctrl.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnearbychat.h b/indra/newview/llnearbychat.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnearbychathandler.h b/indra/newview/llnearbychathandler.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnetmap.h b/indra/newview/llnetmap.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationalerthandler.cpp b/indra/newview/llnotificationalerthandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationgrouphandler.cpp b/indra/newview/llnotificationgrouphandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationhandler.h b/indra/newview/llnotificationhandler.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationmanager.cpp b/indra/newview/llnotificationmanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationmanager.h b/indra/newview/llnotificationmanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationscripthandler.cpp b/indra/newview/llnotificationscripthandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationstorage.cpp b/indra/newview/llnotificationstorage.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationstorage.h b/indra/newview/llnotificationstorage.h old mode 100644 new mode 100755 diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lloutfitobserver.cpp b/indra/newview/lloutfitobserver.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lloutfitobserver.h b/indra/newview/lloutfitobserver.h old mode 100644 new mode 100755 diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lloutfitslist.h b/indra/newview/lloutfitslist.h old mode 100644 new mode 100755 diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lloutputmonitorctrl.h b/indra/newview/lloutputmonitorctrl.h old mode 100644 new mode 100755 diff --git a/indra/newview/lloverlaybar.cpp b/indra/newview/lloverlaybar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lloverlaybar.h b/indra/newview/lloverlaybar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelappearancetab.h b/indra/newview/llpanelappearancetab.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelavatar.h b/indra/newview/llpanelavatar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelavatartag.cpp b/indra/newview/llpanelavatartag.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelavatartag.h b/indra/newview/llpanelavatartag.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelblockedlist.cpp b/indra/newview/llpanelblockedlist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelblockedlist.h b/indra/newview/llpanelblockedlist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelcontents.h b/indra/newview/llpanelcontents.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneleditwearable.h b/indra/newview/llpaneleditwearable.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelface.h b/indra/newview/llpanelface.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgenerictip.cpp b/indra/newview/llpanelgenerictip.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgenerictip.h b/indra/newview/llpanelgenerictip.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgroup.h b/indra/newview/llpanelgroup.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgroupgeneral.h b/indra/newview/llpanelgroupgeneral.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgroupinvite.cpp b/indra/newview/llpanelgroupinvite.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgroupinvite.h b/indra/newview/llpanelgroupinvite.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgrouplandmoney.cpp b/indra/newview/llpanelgrouplandmoney.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgrouplandmoney.h b/indra/newview/llpanelgrouplandmoney.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgroupnotices.h b/indra/newview/llpanelgroupnotices.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelhome.cpp b/indra/newview/llpanelhome.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelhome.h b/indra/newview/llpanelhome.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelimcontrolpanel.h b/indra/newview/llpanelimcontrolpanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelland.cpp b/indra/newview/llpanelland.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelland.h b/indra/newview/llpanelland.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellandaudio.cpp b/indra/newview/llpanellandaudio.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellandaudio.h b/indra/newview/llpanellandaudio.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellandmarkinfo.cpp b/indra/newview/llpanellandmarkinfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellandmarkinfo.h b/indra/newview/llpanellandmarkinfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellandmarks.h b/indra/newview/llpanellandmarks.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellandmedia.cpp b/indra/newview/llpanellandmedia.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellandmedia.h b/indra/newview/llpanellandmedia.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanellogin.h b/indra/newview/llpanellogin.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelloginlistener.cpp b/indra/newview/llpanelloginlistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelloginlistener.h b/indra/newview/llpanelloginlistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelmaininventory.h b/indra/newview/llpanelmaininventory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelme.h b/indra/newview/llpanelme.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelmediasettingsgeneral.cpp b/indra/newview/llpanelmediasettingsgeneral.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelmediasettingsgeneral.h b/indra/newview/llpanelmediasettingsgeneral.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelmediasettingspermissions.cpp b/indra/newview/llpanelmediasettingspermissions.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelmediasettingspermissions.h b/indra/newview/llpanelmediasettingspermissions.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelmediasettingssecurity.cpp b/indra/newview/llpanelmediasettingssecurity.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelmediasettingssecurity.h b/indra/newview/llpanelmediasettingssecurity.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelnearbymedia.cpp b/indra/newview/llpanelnearbymedia.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelnearbymedia.h b/indra/newview/llpanelnearbymedia.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelobject.h b/indra/newview/llpanelobject.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelobjectinventory.h b/indra/newview/llpanelobjectinventory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelonlinestatus.cpp b/indra/newview/llpanelonlinestatus.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelonlinestatus.h b/indra/newview/llpanelonlinestatus.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneloutfitsinventory.h b/indra/newview/llpaneloutfitsinventory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpeoplemenus.cpp b/indra/newview/llpanelpeoplemenus.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpeoplemenus.h b/indra/newview/llpanelpeoplemenus.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpermissions.h b/indra/newview/llpanelpermissions.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpick.cpp b/indra/newview/llpanelpick.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpick.h b/indra/newview/llpanelpick.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelpicks.h b/indra/newview/llpanelpicks.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelplaceinfo.cpp b/indra/newview/llpanelplaceinfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelplaceinfo.h b/indra/newview/llpanelplaceinfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelplaceprofile.cpp b/indra/newview/llpanelplaceprofile.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelplaceprofile.h b/indra/newview/llpanelplaceprofile.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelplaces.h b/indra/newview/llpanelplaces.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelplacestab.cpp b/indra/newview/llpanelplacestab.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelplacestab.h b/indra/newview/llpanelplacestab.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelprimmediacontrols.h b/indra/newview/llpanelprimmediacontrols.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelprofile.h b/indra/newview/llpanelprofile.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelprofileview.cpp b/indra/newview/llpanelprofileview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelprofileview.h b/indra/newview/llpanelprofileview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelteleporthistory.h b/indra/newview/llpanelteleporthistory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneltiptoast.cpp b/indra/newview/llpaneltiptoast.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneltiptoast.h b/indra/newview/llpaneltiptoast.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelvoiceeffect.h b/indra/newview/llpanelvoiceeffect.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelvolume.cpp b/indra/newview/llpanelvolume.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelvolume.h b/indra/newview/llpanelvolume.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelvolumepulldown.cpp b/indra/newview/llpanelvolumepulldown.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelvolumepulldown.h b/indra/newview/llpanelvolumepulldown.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelwearing.cpp b/indra/newview/llpanelwearing.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpanelwearing.h b/indra/newview/llpanelwearing.h old mode 100644 new mode 100755 diff --git a/indra/newview/llparcelselection.cpp b/indra/newview/llparcelselection.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llparcelselection.h b/indra/newview/llparcelselection.h old mode 100644 new mode 100755 diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llparticipantlist.h b/indra/newview/llparticipantlist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpatchvertexarray.cpp b/indra/newview/llpatchvertexarray.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpatchvertexarray.h b/indra/newview/llpatchvertexarray.h old mode 100644 new mode 100755 diff --git a/indra/newview/llplacesinventorybridge.cpp b/indra/newview/llplacesinventorybridge.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llplacesinventorybridge.h b/indra/newview/llplacesinventorybridge.h old mode 100644 new mode 100755 diff --git a/indra/newview/llplacesinventorypanel.cpp b/indra/newview/llplacesinventorypanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llplacesinventorypanel.h b/indra/newview/llplacesinventorypanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpolymesh.cpp b/indra/newview/llpolymesh.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpolymesh.h b/indra/newview/llpolymesh.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpolymorph.cpp b/indra/newview/llpolymorph.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpolymorph.h b/indra/newview/llpolymorph.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpopupview.cpp b/indra/newview/llpopupview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpopupview.h b/indra/newview/llpopupview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpreview.cpp b/indra/newview/llpreview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpreview.h b/indra/newview/llpreview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewanim.cpp b/indra/newview/llpreviewanim.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewanim.h b/indra/newview/llpreviewanim.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewgesture.cpp b/indra/newview/llpreviewgesture.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewgesture.h b/indra/newview/llpreviewgesture.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewnotecard.h b/indra/newview/llpreviewnotecard.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewsound.cpp b/indra/newview/llpreviewsound.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewsound.h b/indra/newview/llpreviewsound.h old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llpreviewtexture.h b/indra/newview/llpreviewtexture.h old mode 100644 new mode 100755 diff --git a/indra/newview/llproductinforequest.cpp b/indra/newview/llproductinforequest.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llproductinforequest.h b/indra/newview/llproductinforequest.h old mode 100644 new mode 100755 diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llprogressview.h b/indra/newview/llprogressview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llrecentpeople.cpp b/indra/newview/llrecentpeople.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llrecentpeople.h b/indra/newview/llrecentpeople.h old mode 100644 new mode 100755 diff --git a/indra/newview/llregionposition.cpp b/indra/newview/llregionposition.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llregionposition.h b/indra/newview/llregionposition.h old mode 100644 new mode 100755 diff --git a/indra/newview/llremoteparcelrequest.cpp b/indra/newview/llremoteparcelrequest.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llremoteparcelrequest.h b/indra/newview/llremoteparcelrequest.h old mode 100644 new mode 100755 diff --git a/indra/newview/llresourcedata.h b/indra/newview/llresourcedata.h old mode 100644 new mode 100755 diff --git a/indra/newview/llrootview.h b/indra/newview/llrootview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsavedsettingsglue.cpp b/indra/newview/llsavedsettingsglue.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsavedsettingsglue.h b/indra/newview/llsavedsettingsglue.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsaveoutfitcombobtn.cpp b/indra/newview/llsaveoutfitcombobtn.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsaveoutfitcombobtn.h b/indra/newview/llsaveoutfitcombobtn.h old mode 100644 new mode 100755 diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h old mode 100644 new mode 100755 diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llscriptfloater.h b/indra/newview/llscriptfloater.h old mode 100644 new mode 100755 diff --git a/indra/newview/llscrollingpanelparam.cpp b/indra/newview/llscrollingpanelparam.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llscrollingpanelparam.h b/indra/newview/llscrollingpanelparam.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsearchcombobox.cpp b/indra/newview/llsearchcombobox.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsearchcombobox.h b/indra/newview/llsearchcombobox.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsearchhistory.cpp b/indra/newview/llsearchhistory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsearchhistory.h b/indra/newview/llsearchhistory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsecapi.cpp b/indra/newview/llsecapi.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsecapi.h b/indra/newview/llsecapi.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsechandler_basic.cpp b/indra/newview/llsechandler_basic.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsechandler_basic.h b/indra/newview/llsechandler_basic.h old mode 100644 new mode 100755 diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepanelappearance.h b/indra/newview/llsidepanelappearance.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepanelinventory.h b/indra/newview/llsidepanelinventory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepanelinventorysubpanel.cpp b/indra/newview/llsidepanelinventorysubpanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepanelinventorysubpanel.h b/indra/newview/llsidepanelinventorysubpanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepaneliteminfo.h b/indra/newview/llsidepaneliteminfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepaneltaskinfo.cpp b/indra/newview/llsidepaneltaskinfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsidepaneltaskinfo.h b/indra/newview/llsidepaneltaskinfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsidetraypanelcontainer.cpp b/indra/newview/llsidetraypanelcontainer.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsidetraypanelcontainer.h b/indra/newview/llsidetraypanelcontainer.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsky.cpp b/indra/newview/llsky.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsky.h b/indra/newview/llsky.h old mode 100644 new mode 100755 diff --git a/indra/newview/llslurl.cpp b/indra/newview/llslurl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llslurl.h b/indra/newview/llslurl.h old mode 100644 new mode 100755 diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llspatialpartition.h b/indra/newview/llspatialpartition.h old mode 100644 new mode 100755 diff --git a/indra/newview/llspeakbutton.cpp b/indra/newview/llspeakbutton.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llspeakbutton.h b/indra/newview/llspeakbutton.h old mode 100644 new mode 100755 diff --git a/indra/newview/llspeakers.cpp b/indra/newview/llspeakers.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llspeakers.h b/indra/newview/llspeakers.h old mode 100644 new mode 100755 diff --git a/indra/newview/llspeakingindicatormanager.cpp b/indra/newview/llspeakingindicatormanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llspeakingindicatormanager.h b/indra/newview/llspeakingindicatormanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsplitbutton.cpp b/indra/newview/llsplitbutton.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsplitbutton.h b/indra/newview/llsplitbutton.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsprite.cpp b/indra/newview/llsprite.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsprite.h b/indra/newview/llsprite.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsrv.cpp b/indra/newview/llsrv.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsrv.h b/indra/newview/llsrv.h old mode 100644 new mode 100755 diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llstartup.h b/indra/newview/llstartup.h old mode 100644 new mode 100755 diff --git a/indra/newview/llstartuplistener.cpp b/indra/newview/llstartuplistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llstartuplistener.h b/indra/newview/llstartuplistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llstylemap.cpp b/indra/newview/llstylemap.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llstylemap.h b/indra/newview/llstylemap.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsurface.cpp b/indra/newview/llsurface.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsurface.h b/indra/newview/llsurface.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsurfacepatch.cpp b/indra/newview/llsurfacepatch.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsurfacepatch.h b/indra/newview/llsurfacepatch.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsyswellitem.cpp b/indra/newview/llsyswellitem.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsyswellitem.h b/indra/newview/llsyswellitem.h old mode 100644 new mode 100755 diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llsyswellwindow.h b/indra/newview/llsyswellwindow.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltable.h b/indra/newview/lltable.h old mode 100644 new mode 100755 diff --git a/indra/newview/llteleporthistory.cpp b/indra/newview/llteleporthistory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llteleporthistory.h b/indra/newview/llteleporthistory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llteleporthistorystorage.cpp b/indra/newview/llteleporthistorystorage.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llteleporthistorystorage.h b/indra/newview/llteleporthistorystorage.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltexglobalcolor.cpp b/indra/newview/lltexglobalcolor.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltexglobalcolor.h b/indra/newview/lltexglobalcolor.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltexlayer.h b/indra/newview/lltexlayer.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltexlayerparams.cpp b/indra/newview/lltexlayerparams.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltexlayerparams.h b/indra/newview/lltexlayerparams.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureatlas.cpp b/indra/newview/lltextureatlas.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureatlas.h b/indra/newview/lltextureatlas.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureatlasmanager.cpp b/indra/newview/lltextureatlasmanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureatlasmanager.h b/indra/newview/lltextureatlasmanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureinfo.cpp b/indra/newview/lltextureinfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureinfo.h b/indra/newview/lltextureinfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureinfodetails.cpp b/indra/newview/lltextureinfodetails.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureinfodetails.h b/indra/newview/lltextureinfodetails.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturestats.cpp b/indra/newview/lltexturestats.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturestats.h b/indra/newview/lltexturestats.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturestatsuploader.cpp b/indra/newview/lltexturestatsuploader.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltexturestatsuploader.h b/indra/newview/lltexturestatsuploader.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltextureview.h b/indra/newview/lltextureview.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoast.h b/indra/newview/lltoast.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastalertpanel.cpp b/indra/newview/lltoastalertpanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastalertpanel.h b/indra/newview/lltoastalertpanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastgroupnotifypanel.cpp b/indra/newview/lltoastgroupnotifypanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastgroupnotifypanel.h b/indra/newview/lltoastgroupnotifypanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastimpanel.cpp b/indra/newview/lltoastimpanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastimpanel.h b/indra/newview/lltoastimpanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastnotifypanel.h b/indra/newview/lltoastnotifypanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastpanel.cpp b/indra/newview/lltoastpanel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoastpanel.h b/indra/newview/lltoastpanel.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltool.cpp b/indra/newview/lltool.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltool.h b/indra/newview/lltool.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolbar.cpp b/indra/newview/lltoolbar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolbar.h b/indra/newview/lltoolbar.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolbrush.cpp b/indra/newview/lltoolbrush.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolbrush.h b/indra/newview/lltoolbrush.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolcomp.h b/indra/newview/lltoolcomp.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltooldraganddrop.h b/indra/newview/lltooldraganddrop.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolface.cpp b/indra/newview/lltoolface.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolface.h b/indra/newview/lltoolface.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolfocus.cpp b/indra/newview/lltoolfocus.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolfocus.h b/indra/newview/lltoolfocus.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolgrab.h b/indra/newview/lltoolgrab.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolgun.cpp b/indra/newview/lltoolgun.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolgun.h b/indra/newview/lltoolgun.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolindividual.cpp b/indra/newview/lltoolindividual.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolindividual.h b/indra/newview/lltoolindividual.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolmgr.cpp b/indra/newview/lltoolmgr.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolmgr.h b/indra/newview/lltoolmgr.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolmorph.cpp b/indra/newview/lltoolmorph.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolmorph.h b/indra/newview/lltoolmorph.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolobjpicker.cpp b/indra/newview/lltoolobjpicker.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolobjpicker.h b/indra/newview/lltoolobjpicker.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolpie.h b/indra/newview/lltoolpie.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolpipette.cpp b/indra/newview/lltoolpipette.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolpipette.h b/indra/newview/lltoolpipette.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolplacer.cpp b/indra/newview/lltoolplacer.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolplacer.h b/indra/newview/lltoolplacer.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolselect.cpp b/indra/newview/lltoolselect.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolselect.h b/indra/newview/lltoolselect.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolselectland.cpp b/indra/newview/lltoolselectland.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolselectland.h b/indra/newview/lltoolselectland.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolselectrect.cpp b/indra/newview/lltoolselectrect.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolselectrect.h b/indra/newview/lltoolselectrect.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolview.cpp b/indra/newview/lltoolview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltoolview.h b/indra/newview/lltoolview.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltracker.cpp b/indra/newview/lltracker.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltracker.h b/indra/newview/lltracker.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltransientdockablefloater.cpp b/indra/newview/lltransientdockablefloater.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltransientdockablefloater.h b/indra/newview/lltransientdockablefloater.h old mode 100644 new mode 100755 diff --git a/indra/newview/lltransientfloatermgr.cpp b/indra/newview/lltransientfloatermgr.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lltransientfloatermgr.h b/indra/newview/lltransientfloatermgr.h old mode 100644 new mode 100755 diff --git a/indra/newview/lluiconstants.h b/indra/newview/lluiconstants.h old mode 100644 new mode 100755 diff --git a/indra/newview/lluilistener.cpp b/indra/newview/lluilistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lluilistener.h b/indra/newview/lluilistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/lluploaddialog.cpp b/indra/newview/lluploaddialog.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/lluploaddialog.h b/indra/newview/lluploaddialog.h old mode 100644 new mode 100755 diff --git a/indra/newview/llurl.cpp b/indra/newview/llurl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llurl.h b/indra/newview/llurl.h old mode 100644 new mode 100755 diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llurldispatcher.h b/indra/newview/llurldispatcher.h old mode 100644 new mode 100755 diff --git a/indra/newview/llurldispatcherlistener.cpp b/indra/newview/llurldispatcherlistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llurldispatcherlistener.h b/indra/newview/llurldispatcherlistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llurlhistory.cpp b/indra/newview/llurlhistory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llurlhistory.h b/indra/newview/llurlhistory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llurllineeditorctrl.cpp b/indra/newview/llurllineeditorctrl.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llurllineeditorctrl.h b/indra/newview/llurllineeditorctrl.h old mode 100644 new mode 100755 diff --git a/indra/newview/llurlwhitelist.cpp b/indra/newview/llurlwhitelist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llurlwhitelist.h b/indra/newview/llurlwhitelist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvectorperfoptions.cpp b/indra/newview/llvectorperfoptions.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvectorperfoptions.h b/indra/newview/llvectorperfoptions.h old mode 100644 new mode 100755 diff --git a/indra/newview/llversioninfo.cpp b/indra/newview/llversioninfo.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llversioninfo.h b/indra/newview/llversioninfo.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewchildren.cpp b/indra/newview/llviewchildren.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewchildren.h b/indra/newview/llviewchildren.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerassetstorage.h b/indra/newview/llviewerassetstorage.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerassettype.cpp b/indra/newview/llviewerassettype.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerassettype.h b/indra/newview/llviewerassettype.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerattachmenu.cpp b/indra/newview/llviewerattachmenu.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerattachmenu.h b/indra/newview/llviewerattachmenu.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvieweraudio.cpp b/indra/newview/llvieweraudio.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvieweraudio.h b/indra/newview/llvieweraudio.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewercamera.cpp b/indra/newview/llviewercamera.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewercamera.h b/indra/newview/llviewercamera.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerchat.cpp b/indra/newview/llviewerchat.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerchat.h b/indra/newview/llviewerchat.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewercontrol.h b/indra/newview/llviewercontrol.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewercontrollistener.cpp b/indra/newview/llviewercontrollistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewercontrollistener.h b/indra/newview/llviewercontrollistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerdisplay.h b/indra/newview/llviewerdisplay.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerfloaterreg.h b/indra/newview/llviewerfloaterreg.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerfoldertype.cpp b/indra/newview/llviewerfoldertype.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerfoldertype.h b/indra/newview/llviewerfoldertype.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewergenericmessage.cpp b/indra/newview/llviewergenericmessage.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewergenericmessage.h b/indra/newview/llviewergenericmessage.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewergesture.cpp b/indra/newview/llviewergesture.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewergesture.h b/indra/newview/llviewergesture.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerhelp.h b/indra/newview/llviewerhelp.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerhelputil.cpp b/indra/newview/llviewerhelputil.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerhelputil.h b/indra/newview/llviewerhelputil.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerhome.cpp b/indra/newview/llviewerhome.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerhome.h b/indra/newview/llviewerhome.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerinventory.h b/indra/newview/llviewerinventory.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjoint.cpp b/indra/newview/llviewerjoint.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjoint.h b/indra/newview/llviewerjoint.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjointattachment.cpp b/indra/newview/llviewerjointattachment.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjointattachment.h b/indra/newview/llviewerjointattachment.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjointmesh.h b/indra/newview/llviewerjointmesh.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjointmesh_sse.cpp b/indra/newview/llviewerjointmesh_sse.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjointmesh_sse2.cpp b/indra/newview/llviewerjointmesh_sse2.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjointmesh_vec.cpp b/indra/newview/llviewerjointmesh_vec.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjoystick.cpp b/indra/newview/llviewerjoystick.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerjoystick.h b/indra/newview/llviewerjoystick.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerkeyboard.h b/indra/newview/llviewerkeyboard.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerlayer.cpp b/indra/newview/llviewerlayer.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerlayer.h b/indra/newview/llviewerlayer.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermedia_streamingaudio.cpp b/indra/newview/llviewermedia_streamingaudio.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermedia_streamingaudio.h b/indra/newview/llviewermedia_streamingaudio.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermediafocus.cpp b/indra/newview/llviewermediafocus.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermediafocus.h b/indra/newview/llviewermediafocus.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermediaobserver.h b/indra/newview/llviewermediaobserver.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermenufile.h b/indra/newview/llviewermenufile.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewermessage.h b/indra/newview/llviewermessage.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewernetwork.h b/indra/newview/llviewernetwork.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerobjectlist.h b/indra/newview/llviewerobjectlist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerparcelmedia.cpp b/indra/newview/llviewerparcelmedia.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerparcelmedia.h b/indra/newview/llviewerparcelmedia.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerparcelmediaautoplay.cpp b/indra/newview/llviewerparcelmediaautoplay.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerparcelmediaautoplay.h b/indra/newview/llviewerparcelmediaautoplay.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerparceloverlay.cpp b/indra/newview/llviewerparceloverlay.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerparceloverlay.h b/indra/newview/llviewerparceloverlay.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerpartsim.cpp b/indra/newview/llviewerpartsim.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerpartsim.h b/indra/newview/llviewerpartsim.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerpartsource.cpp b/indra/newview/llviewerpartsource.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerpartsource.h b/indra/newview/llviewerpartsource.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerprecompiledheaders.cpp b/indra/newview/llviewerprecompiledheaders.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerprecompiledheaders.h b/indra/newview/llviewerprecompiledheaders.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewershadermgr.h b/indra/newview/llviewershadermgr.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerstats.h b/indra/newview/llviewerstats.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewertexteditor.h b/indra/newview/llviewertexteditor.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewertextureanim.cpp b/indra/newview/llviewertextureanim.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewertextureanim.h b/indra/newview/llviewertextureanim.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerthrottle.cpp b/indra/newview/llviewerthrottle.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerthrottle.h b/indra/newview/llviewerthrottle.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewervisualparam.cpp b/indra/newview/llviewervisualparam.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewervisualparam.h b/indra/newview/llviewervisualparam.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerwindowlistener.cpp b/indra/newview/llviewerwindowlistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llviewerwindowlistener.h b/indra/newview/llviewerwindowlistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvlcomposition.cpp b/indra/newview/llvlcomposition.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvlcomposition.h b/indra/newview/llvlcomposition.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvlmanager.cpp b/indra/newview/llvlmanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvlmanager.h b/indra/newview/llvlmanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoavatardefines.cpp b/indra/newview/llvoavatardefines.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoavatardefines.h b/indra/newview/llvoavatardefines.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoclouds.cpp b/indra/newview/llvoclouds.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoclouds.h b/indra/newview/llvoclouds.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvograss.cpp b/indra/newview/llvograss.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvograss.h b/indra/newview/llvograss.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoground.cpp b/indra/newview/llvoground.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoground.h b/indra/newview/llvoground.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoicechannel.h b/indra/newview/llvoicechannel.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoicevisualizer.cpp b/indra/newview/llvoicevisualizer.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoicevisualizer.h b/indra/newview/llvoicevisualizer.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoicevivox.h b/indra/newview/llvoicevivox.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvoinventorylistener.cpp b/indra/newview/llvoinventorylistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvoinventorylistener.h b/indra/newview/llvoinventorylistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvopartgroup.cpp b/indra/newview/llvopartgroup.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvopartgroup.h b/indra/newview/llvopartgroup.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvosky.h b/indra/newview/llvosky.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvosurfacepatch.cpp b/indra/newview/llvosurfacepatch.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvosurfacepatch.h b/indra/newview/llvosurfacepatch.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvotextbubble.cpp b/indra/newview/llvotextbubble.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvotextbubble.h b/indra/newview/llvotextbubble.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvotree.cpp b/indra/newview/llvotree.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvotree.h b/indra/newview/llvotree.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvotreenew.h b/indra/newview/llvotreenew.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvowater.cpp b/indra/newview/llvowater.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvowater.h b/indra/newview/llvowater.h old mode 100644 new mode 100755 diff --git a/indra/newview/llvowlsky.cpp b/indra/newview/llvowlsky.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llvowlsky.h b/indra/newview/llvowlsky.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwatchdog.cpp b/indra/newview/llwatchdog.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwatchdog.h b/indra/newview/llwatchdog.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwaterparammanager.cpp b/indra/newview/llwaterparammanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwaterparammanager.h b/indra/newview/llwaterparammanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwaterparamset.cpp b/indra/newview/llwaterparamset.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwaterparamset.h b/indra/newview/llwaterparamset.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwearable.h b/indra/newview/llwearable.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwearablelist.cpp b/indra/newview/llwearablelist.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwearablelist.h b/indra/newview/llwearablelist.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwearabletype.cpp b/indra/newview/llwearabletype.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwearabletype.h b/indra/newview/llwearabletype.h old mode 100644 new mode 100755 diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llweb.h b/indra/newview/llweb.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwebsharing.cpp b/indra/newview/llwebsharing.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwebsharing.h b/indra/newview/llwebsharing.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwind.cpp b/indra/newview/llwind.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwind.h b/indra/newview/llwind.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwindebug.cpp b/indra/newview/llwindebug.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwindebug.h b/indra/newview/llwindebug.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwlanimator.cpp b/indra/newview/llwlanimator.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwlanimator.h b/indra/newview/llwlanimator.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwldaycycle.cpp b/indra/newview/llwldaycycle.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwldaycycle.h b/indra/newview/llwldaycycle.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwlparammanager.cpp b/indra/newview/llwlparammanager.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwlparammanager.h b/indra/newview/llwlparammanager.h old mode 100644 new mode 100755 diff --git a/indra/newview/llwlparamset.cpp b/indra/newview/llwlparamset.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llwlparamset.h b/indra/newview/llwlparamset.h old mode 100644 new mode 100755 diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llworld.h b/indra/newview/llworld.h old mode 100644 new mode 100755 diff --git a/indra/newview/llworldmap.cpp b/indra/newview/llworldmap.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llworldmap.h b/indra/newview/llworldmap.h old mode 100644 new mode 100755 diff --git a/indra/newview/llworldmapmessage.cpp b/indra/newview/llworldmapmessage.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llworldmapmessage.h b/indra/newview/llworldmapmessage.h old mode 100644 new mode 100755 diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llworldmapview.h b/indra/newview/llworldmapview.h old mode 100644 new mode 100755 diff --git a/indra/newview/llworldmipmap.cpp b/indra/newview/llworldmipmap.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llworldmipmap.h b/indra/newview/llworldmipmap.h old mode 100644 new mode 100755 diff --git a/indra/newview/llworldview.cpp b/indra/newview/llworldview.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llxmlrpclistener.cpp b/indra/newview/llxmlrpclistener.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llxmlrpclistener.h b/indra/newview/llxmlrpclistener.h old mode 100644 new mode 100755 diff --git a/indra/newview/llxmlrpctransaction.cpp b/indra/newview/llxmlrpctransaction.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/llxmlrpctransaction.h b/indra/newview/llxmlrpctransaction.h old mode 100644 new mode 100755 diff --git a/indra/newview/macmain.h b/indra/newview/macmain.h old mode 100644 new mode 100755 diff --git a/indra/newview/macutil_Prefix.h b/indra/newview/macutil_Prefix.h old mode 100644 new mode 100755 diff --git a/indra/newview/macview.r b/indra/newview/macview.r old mode 100644 new mode 100755 diff --git a/indra/newview/macview_Prefix.h b/indra/newview/macview_Prefix.h old mode 100644 new mode 100755 diff --git a/indra/newview/nl.lproj/language.txt b/indra/newview/nl.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/noise.cpp b/indra/newview/noise.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/noise.h b/indra/newview/noise.h old mode 100644 new mode 100755 diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h old mode 100644 new mode 100755 diff --git a/indra/newview/pl.lproj/language.txt b/indra/newview/pl.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/pt.lproj/language.txt b/indra/newview/pt.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/arrow.BMP b/indra/newview/res-sdl/arrow.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/arrowcop.BMP b/indra/newview/res-sdl/arrowcop.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/arrowcopmulti.BMP b/indra/newview/res-sdl/arrowcopmulti.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/arrowdrag.BMP b/indra/newview/res-sdl/arrowdrag.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/circleandline.BMP b/indra/newview/res-sdl/circleandline.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/cross.BMP b/indra/newview/res-sdl/cross.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/hand.BMP b/indra/newview/res-sdl/hand.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/ibeam.BMP b/indra/newview/res-sdl/ibeam.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/ll_icon.BMP b/indra/newview/res-sdl/ll_icon.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/llarrow.BMP b/indra/newview/res-sdl/llarrow.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/llarrowdrag.BMP b/indra/newview/res-sdl/llarrowdrag.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/llarrowdragmulti.BMP b/indra/newview/res-sdl/llarrowdragmulti.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/llarrowlocked.BMP b/indra/newview/res-sdl/llarrowlocked.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/llgrablocked.BMP b/indra/newview/res-sdl/llgrablocked.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/llno.BMP b/indra/newview/res-sdl/llno.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/llnolocked.BMP b/indra/newview/res-sdl/llnolocked.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolcamera.BMP b/indra/newview/res-sdl/lltoolcamera.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolcreate.BMP b/indra/newview/res-sdl/lltoolcreate.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolfocus.BMP b/indra/newview/res-sdl/lltoolfocus.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolgrab.BMP b/indra/newview/res-sdl/lltoolgrab.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolland.BMP b/indra/newview/res-sdl/lltoolland.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolpan.BMP b/indra/newview/res-sdl/lltoolpan.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolpipette.BMP b/indra/newview/res-sdl/lltoolpipette.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolrotate.BMP b/indra/newview/res-sdl/lltoolrotate.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolscale.BMP b/indra/newview/res-sdl/lltoolscale.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltooltranslate.BMP b/indra/newview/res-sdl/lltooltranslate.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolzoomin.BMP b/indra/newview/res-sdl/lltoolzoomin.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/lltoolzoomout.BMP b/indra/newview/res-sdl/lltoolzoomout.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/sizenesw.BMP b/indra/newview/res-sdl/sizenesw.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/sizens.BMP b/indra/newview/res-sdl/sizens.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/sizenwse.BMP b/indra/newview/res-sdl/sizenwse.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/sizewe.BMP b/indra/newview/res-sdl/sizewe.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/toolbuy.BMP b/indra/newview/res-sdl/toolbuy.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/toolmediaopen.BMP b/indra/newview/res-sdl/toolmediaopen.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/toolopen.BMP b/indra/newview/res-sdl/toolopen.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/toolpause.BMP b/indra/newview/res-sdl/toolpause.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/toolpickobject.BMP b/indra/newview/res-sdl/toolpickobject.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/toolpickobject2.BMP b/indra/newview/res-sdl/toolpickobject2.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/toolpickobject3.BMP b/indra/newview/res-sdl/toolpickobject3.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/toolplay.BMP b/indra/newview/res-sdl/toolplay.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/toolsit.BMP b/indra/newview/res-sdl/toolsit.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/wait.BMP b/indra/newview/res-sdl/wait.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res-sdl/working.BMP b/indra/newview/res-sdl/working.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res/arrow.cur b/indra/newview/res/arrow.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/arrowcop.cur b/indra/newview/res/arrowcop.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/arrowcopmulti.cur b/indra/newview/res/arrowcopmulti.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/arrowdrag.cur b/indra/newview/res/arrowdrag.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/bitmap2.bmp b/indra/newview/res/bitmap2.bmp old mode 100644 new mode 100755 diff --git a/indra/newview/res/circleandline.cur b/indra/newview/res/circleandline.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/have_artwork_bundle.marker b/indra/newview/res/have_artwork_bundle.marker old mode 100644 new mode 100755 diff --git a/indra/newview/res/icon1.ico b/indra/newview/res/icon1.ico old mode 100644 new mode 100755 diff --git a/indra/newview/res/install_icon.BMP b/indra/newview/res/install_icon.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res/ll_icon.BMP b/indra/newview/res/ll_icon.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res/ll_icon.ico b/indra/newview/res/ll_icon.ico old mode 100644 new mode 100755 diff --git a/indra/newview/res/ll_icon.png b/indra/newview/res/ll_icon.png old mode 100644 new mode 100755 diff --git a/indra/newview/res/llarrow.cur b/indra/newview/res/llarrow.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/llarrowdrag.cur b/indra/newview/res/llarrowdrag.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/llarrowdragmulti.cur b/indra/newview/res/llarrowdragmulti.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/llarrowlocked.cur b/indra/newview/res/llarrowlocked.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/llgrablocked.cur b/indra/newview/res/llgrablocked.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/llno.cur b/indra/newview/res/llno.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/llnolocked.cur b/indra/newview/res/llnolocked.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolcamera.cur b/indra/newview/res/lltoolcamera.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolcreate.cur b/indra/newview/res/lltoolcreate.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolfocus.cur b/indra/newview/res/lltoolfocus.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolgrab.cur b/indra/newview/res/lltoolgrab.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolland.cur b/indra/newview/res/lltoolland.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolpan.cur b/indra/newview/res/lltoolpan.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolpipette.cur b/indra/newview/res/lltoolpipette.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolrotate.cur b/indra/newview/res/lltoolrotate.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolscale.cur b/indra/newview/res/lltoolscale.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltooltranslate.cur b/indra/newview/res/lltooltranslate.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolzoomin.cur b/indra/newview/res/lltoolzoomin.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/lltoolzoomout.cur b/indra/newview/res/lltoolzoomout.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/loginbackground.bmp b/indra/newview/res/loginbackground.bmp old mode 100644 new mode 100755 diff --git a/indra/newview/res/resource.h b/indra/newview/res/resource.h old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolbuy.cur b/indra/newview/res/toolbuy.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolmediaopen.cur b/indra/newview/res/toolmediaopen.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolopen.cur b/indra/newview/res/toolopen.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolpause.cur b/indra/newview/res/toolpause.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolpickobject.cur b/indra/newview/res/toolpickobject.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolpickobject2.cur b/indra/newview/res/toolpickobject2.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolpickobject3.cur b/indra/newview/res/toolpickobject3.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolpipette.cur b/indra/newview/res/toolpipette.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolplay.cur b/indra/newview/res/toolplay.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/toolsit.cur b/indra/newview/res/toolsit.cur old mode 100644 new mode 100755 diff --git a/indra/newview/res/uninstall_icon.BMP b/indra/newview/res/uninstall_icon.BMP old mode 100644 new mode 100755 diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc old mode 100644 new mode 100755 diff --git a/indra/newview/ru.lproj/language.txt b/indra/newview/ru.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/secondlife-i686.supp b/indra/newview/secondlife-i686.supp old mode 100644 new mode 100755 diff --git a/indra/newview/secondlife.icns b/indra/newview/secondlife.icns old mode 100644 new mode 100755 diff --git a/indra/newview/secondlife_firstlook.icns b/indra/newview/secondlife_firstlook.icns old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/btn_purplepill_bg.png b/indra/newview/skins/default/html/btn_purplepill_bg.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/da/loading/loading.html b/indra/newview/skins/default/html/da/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/de/loading-error/index.html b/indra/newview/skins/default/html/de/loading-error/index.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/de/loading/loading.html b/indra/newview/skins/default/html/de/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/en-us/help-offline/index.html b/indra/newview/skins/default/html/en-us/help-offline/index.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/en-us/loading-error/index.html b/indra/newview/skins/default/html/en-us/loading-error/index.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/en-us/loading/loading.html b/indra/newview/skins/default/html/en-us/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/en-us/loading/sl_logo_rotate_black.gif b/indra/newview/skins/default/html/en-us/loading/sl_logo_rotate_black.gif old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/es/loading-error/index.html b/indra/newview/skins/default/html/es/loading-error/index.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/es/loading/loading.html b/indra/newview/skins/default/html/es/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/fr/loading-error/index.html b/indra/newview/skins/default/html/fr/loading-error/index.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/fr/loading/loading.html b/indra/newview/skins/default/html/fr/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/hu/loading/loading.html b/indra/newview/skins/default/html/hu/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/it/loading/loading.html b/indra/newview/skins/default/html/it/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/ja/loading-error/index.html b/indra/newview/skins/default/html/ja/loading-error/index.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/ja/loading/loading.html b/indra/newview/skins/default/html/ja/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/ko/loading-error/index.html b/indra/newview/skins/default/html/ko/loading-error/index.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/nl/loading/loading.html b/indra/newview/skins/default/html/nl/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/pl/loading/loading.html b/indra/newview/skins/default/html/pl/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/pt/loading-error/index.html b/indra/newview/skins/default/html/pt/loading-error/index.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/pt/loading/loading.html b/indra/newview/skins/default/html/pt/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/ru/loading/loading.html b/indra/newview/skins/default/html/ru/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/tr/loading/loading.html b/indra/newview/skins/default/html/tr/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/uk/loading/loading.html b/indra/newview/skins/default/html/uk/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/unabletoconnect.png b/indra/newview/skins/default/html/unabletoconnect.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/zh/loading-error/index.html b/indra/newview/skins/default/html/zh/loading-error/index.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/html/zh/loading/loading.html b/indra/newview/skins/default/html/zh/loading/loading.html old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/Blank.png b/indra/newview/skins/default/textures/Blank.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/alpha_gradient.tga b/indra/newview/skins/default/textures/alpha_gradient.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/alpha_gradient_2d.j2c b/indra/newview/skins/default/textures/alpha_gradient_2d.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/arrow_down.tga b/indra/newview/skins/default/textures/arrow_down.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/arrow_up.tga b/indra/newview/skins/default/textures/arrow_up.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/avatar_thumb_bkgrnd.png b/indra/newview/skins/default/textures/avatar_thumb_bkgrnd.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/badge_note.j2c b/indra/newview/skins/default/textures/badge_note.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/badge_ok.j2c b/indra/newview/skins/default/textures/badge_ok.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/badge_warn.j2c b/indra/newview/skins/default/textures/badge_warn.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Avatar_Off.png b/indra/newview/skins/default/textures/bottomtray/Cam_Avatar_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_FreeCam_Off.png b/indra/newview/skins/default/textures/bottomtray/Cam_FreeCam_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Orbit_Off.png b/indra/newview/skins/default/textures/bottomtray/Cam_Orbit_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Pan_Off.png b/indra/newview/skins/default/textures/bottomtray/Cam_Pan_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Pan_Over.png b/indra/newview/skins/default/textures/bottomtray/Cam_Pan_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Back_Off.png b/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Back_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Back_On.png b/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Back_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Eye_Off.png b/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Eye_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Front_Off.png b/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Front_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Front_On.png b/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Front_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Side_Off.png b/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Side_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Side_On.png b/indra/newview/skins/default/textures/bottomtray/Cam_Preset_Side_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Rotate_In.png b/indra/newview/skins/default/textures/bottomtray/Cam_Rotate_In.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Rotate_Out.png b/indra/newview/skins/default/textures/bottomtray/Cam_Rotate_Out.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Tracking_In.png b/indra/newview/skins/default/textures/bottomtray/Cam_Tracking_In.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Tracking_Out.png b/indra/newview/skins/default/textures/bottomtray/Cam_Tracking_Out.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/CameraView_Press.png b/indra/newview/skins/default/textures/bottomtray/CameraView_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/DownArrow.png b/indra/newview/skins/default/textures/bottomtray/DownArrow.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Mouselook_View_Off.png b/indra/newview/skins/default/textures/bottomtray/Mouselook_View_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Mouselook_View_On.png b/indra/newview/skins/default/textures/bottomtray/Mouselook_View_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png b/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Move_Run_Off.png b/indra/newview/skins/default/textures/bottomtray/Move_Run_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Move_Walk_Off.png b/indra/newview/skins/default/textures/bottomtray/Move_Walk_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Backward_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_Backward_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Backward_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Backward_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Down_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_Down_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Down_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Down_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Forward_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_Forward_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Forward_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Forward_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Left_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_Left_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Left_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Left_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Right_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_Right_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Right_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Right_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_TurnLeft_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_TurnLeft_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_TurnLeft_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_TurnLeft_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_TurnRight_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_TurnRight_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_TurnRight_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_TurnRight_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Up_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_Up_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Up_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Up_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png b/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Object_View_Off.png b/indra/newview/skins/default/textures/bottomtray/Object_View_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Object_View_On.png b/indra/newview/skins/default/textures/bottomtray/Object_View_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/PanOrbit_Disabled.png b/indra/newview/skins/default/textures/bottomtray/PanOrbit_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/PanOrbit_Off.png b/indra/newview/skins/default/textures/bottomtray/PanOrbit_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/PanOrbit_Over.png b/indra/newview/skins/default/textures/bottomtray/PanOrbit_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/PanOrbit_Press.png b/indra/newview/skins/default/textures/bottomtray/PanOrbit_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png b/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Unread_Chiclet.png b/indra/newview/skins/default/textures/bottomtray/Unread_Chiclet.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/Unread_IM.png b/indra/newview/skins/default/textures/bottomtray/Unread_IM.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/VoicePTT_Lvl1.png b/indra/newview/skins/default/textures/bottomtray/VoicePTT_Lvl1.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/VoicePTT_Lvl2.png b/indra/newview/skins/default/textures/bottomtray/VoicePTT_Lvl2.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/VoicePTT_Lvl3.png b/indra/newview/skins/default/textures/bottomtray/VoicePTT_Lvl3.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/VoicePTT_Off.png b/indra/newview/skins/default/textures/bottomtray/VoicePTT_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/VoicePTT_On.png b/indra/newview/skins/default/textures/bottomtray/VoicePTT_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/WellButton_Lit.png b/indra/newview/skins/default/textures/bottomtray/WellButton_Lit.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.png b/indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Cone.png b/indra/newview/skins/default/textures/build/Object_Cone.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Cone_Selected.png b/indra/newview/skins/default/textures/build/Object_Cone_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Cube.png b/indra/newview/skins/default/textures/build/Object_Cube.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Cube_Selected.png b/indra/newview/skins/default/textures/build/Object_Cube_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Cylinder.png b/indra/newview/skins/default/textures/build/Object_Cylinder.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Cylinder_Selected.png b/indra/newview/skins/default/textures/build/Object_Cylinder_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Grass.png b/indra/newview/skins/default/textures/build/Object_Grass.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Grass_Selected.png b/indra/newview/skins/default/textures/build/Object_Grass_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Hemi_Cone.png b/indra/newview/skins/default/textures/build/Object_Hemi_Cone.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Hemi_Cone_Selected.png b/indra/newview/skins/default/textures/build/Object_Hemi_Cone_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Hemi_Cylinder.png b/indra/newview/skins/default/textures/build/Object_Hemi_Cylinder.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Hemi_Cylinder_Selected.png b/indra/newview/skins/default/textures/build/Object_Hemi_Cylinder_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Hemi_Sphere.png b/indra/newview/skins/default/textures/build/Object_Hemi_Sphere.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Hemi_Sphere_Selected.png b/indra/newview/skins/default/textures/build/Object_Hemi_Sphere_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Prism.png b/indra/newview/skins/default/textures/build/Object_Prism.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Prism_Selected.png b/indra/newview/skins/default/textures/build/Object_Prism_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Pyramid.png b/indra/newview/skins/default/textures/build/Object_Pyramid.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Pyramid_Selected.png b/indra/newview/skins/default/textures/build/Object_Pyramid_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Ring.png b/indra/newview/skins/default/textures/build/Object_Ring.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Ring_Selected.png b/indra/newview/skins/default/textures/build/Object_Ring_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Sphere.png b/indra/newview/skins/default/textures/build/Object_Sphere.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Sphere_Selected.png b/indra/newview/skins/default/textures/build/Object_Sphere_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Tetrahedron.png b/indra/newview/skins/default/textures/build/Object_Tetrahedron.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Tetrahedron_Selected.png b/indra/newview/skins/default/textures/build/Object_Tetrahedron_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Torus.png b/indra/newview/skins/default/textures/build/Object_Torus.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Torus_Selected.png b/indra/newview/skins/default/textures/build/Object_Torus_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Tree.png b/indra/newview/skins/default/textures/build/Object_Tree.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Tree_Selected.png b/indra/newview/skins/default/textures/build/Object_Tree_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Tube.png b/indra/newview/skins/default/textures/build/Object_Tube.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Object_Tube_Selected.png b/indra/newview/skins/default/textures/build/Object_Tube_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Tool_Create.png b/indra/newview/skins/default/textures/build/Tool_Create.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Tool_Dozer.png b/indra/newview/skins/default/textures/build/Tool_Dozer.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Tool_Face.png b/indra/newview/skins/default/textures/build/Tool_Face.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Tool_Grab.png b/indra/newview/skins/default/textures/build/Tool_Grab.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/build/Tool_Zoom.png b/indra/newview/skins/default/textures/build/Tool_Zoom.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/button_anim_pause.tga b/indra/newview/skins/default/textures/button_anim_pause.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/button_anim_pause_selected.tga b/indra/newview/skins/default/textures/button_anim_pause_selected.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/button_anim_play.tga b/indra/newview/skins/default/textures/button_anim_play.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/button_anim_play_selected.tga b/indra/newview/skins/default/textures/button_anim_play_selected.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/checkerboard_transparency_bg.png b/indra/newview/skins/default/textures/checkerboard_transparency_bg.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/circle.tga b/indra/newview/skins/default/textures/circle.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/cloud-particle.j2c b/indra/newview/skins/default/textures/cloud-particle.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/color_swatch_alpha.tga b/indra/newview/skins/default/textures/color_swatch_alpha.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_ArrowClosed_Off.png b/indra/newview/skins/default/textures/containers/Accordion_ArrowClosed_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_ArrowClosed_Over.png b/indra/newview/skins/default/textures/containers/Accordion_ArrowClosed_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_ArrowClosed_Press.png b/indra/newview/skins/default/textures/containers/Accordion_ArrowClosed_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_ArrowOpened_Off.png b/indra/newview/skins/default/textures/containers/Accordion_ArrowOpened_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_ArrowOpened_Over.png b/indra/newview/skins/default/textures/containers/Accordion_ArrowOpened_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_ArrowOpened_Press.png b/indra/newview/skins/default/textures/containers/Accordion_ArrowOpened_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_Off.png b/indra/newview/skins/default/textures/containers/Accordion_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_Over.png b/indra/newview/skins/default/textures/containers/Accordion_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_Press.png b/indra/newview/skins/default/textures/containers/Accordion_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Accordion_Selected.png b/indra/newview/skins/default/textures/containers/Accordion_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Container.png b/indra/newview/skins/default/textures/containers/Container.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Left_Off.png b/indra/newview/skins/default/textures/containers/TabTop_Left_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Left_Over.png b/indra/newview/skins/default/textures/containers/TabTop_Left_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Left_Selected.png b/indra/newview/skins/default/textures/containers/TabTop_Left_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Middle_Off.png b/indra/newview/skins/default/textures/containers/TabTop_Middle_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Middle_Over.png b/indra/newview/skins/default/textures/containers/TabTop_Middle_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Middle_Selected.png b/indra/newview/skins/default/textures/containers/TabTop_Middle_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Right_Off.png b/indra/newview/skins/default/textures/containers/TabTop_Right_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Right_Over.png b/indra/newview/skins/default/textures/containers/TabTop_Right_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Right_Selected.png b/indra/newview/skins/default/textures/containers/TabTop_Right_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Left_Flash.png b/indra/newview/skins/default/textures/containers/Toolbar_Left_Flash.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Left_Off.png b/indra/newview/skins/default/textures/containers/Toolbar_Left_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Left_Over.png b/indra/newview/skins/default/textures/containers/Toolbar_Left_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Left_Selected.png b/indra/newview/skins/default/textures/containers/Toolbar_Left_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Middle_Flash.png b/indra/newview/skins/default/textures/containers/Toolbar_Middle_Flash.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Middle_Off.png b/indra/newview/skins/default/textures/containers/Toolbar_Middle_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Middle_Over.png b/indra/newview/skins/default/textures/containers/Toolbar_Middle_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Middle_Selected.png b/indra/newview/skins/default/textures/containers/Toolbar_Middle_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Right_Flash.png b/indra/newview/skins/default/textures/containers/Toolbar_Right_Flash.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Right_Off.png b/indra/newview/skins/default/textures/containers/Toolbar_Right_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Right_Over.png b/indra/newview/skins/default/textures/containers/Toolbar_Right_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Right_Selected.png b/indra/newview/skins/default/textures/containers/Toolbar_Right_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/crosshairs.tga b/indra/newview/skins/default/textures/crosshairs.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/default_land_picture.j2c b/indra/newview/skins/default/textures/default_land_picture.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/default_profile_picture.j2c b/indra/newview/skins/default/textures/default_profile_picture.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/direction_arrow.tga b/indra/newview/skins/default/textures/direction_arrow.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/down_arrow.png b/indra/newview/skins/default/textures/down_arrow.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/eye_button_active.tga b/indra/newview/skins/default/textures/eye_button_active.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/eye_button_inactive.tga b/indra/newview/skins/default/textures/eye_button_inactive.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/ff_edit_mine.tga b/indra/newview/skins/default/textures/ff_edit_mine.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/ff_edit_mine_button.tga b/indra/newview/skins/default/textures/ff_edit_mine_button.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/ff_edit_theirs.tga b/indra/newview/skins/default/textures/ff_edit_theirs.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/ff_edit_theirs_button.tga b/indra/newview/skins/default/textures/ff_edit_theirs_button.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/ff_online_status_button.tga b/indra/newview/skins/default/textures/ff_online_status_button.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/ff_visible_map.tga b/indra/newview/skins/default/textures/ff_visible_map.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/ff_visible_map_button.tga b/indra/newview/skins/default/textures/ff_visible_map_button.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/ff_visible_online.tga b/indra/newview/skins/default/textures/ff_visible_online.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/ff_visible_online_button.tga b/indra/newview/skins/default/textures/ff_visible_online_button.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/folder_arrow.tga b/indra/newview/skins/default/textures/folder_arrow.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/foot_shadow.j2c b/indra/newview/skins/default/textures/foot_shadow.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icn_label_web.tga b/indra/newview/skins/default/textures/icn_label_web.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icn_media.tga b/indra/newview/skins/default/textures/icn_media.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icn_media_movie.tga b/indra/newview/skins/default/textures/icn_media_movie.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icn_media_web.tga b/indra/newview/skins/default/textures/icn_media_web.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icn_voice-groupfocus.tga b/indra/newview/skins/default/textures/icn_voice-groupfocus.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icn_voice-localchat.tga b/indra/newview/skins/default/textures/icn_voice-localchat.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icn_voice-pvtfocus.tga b/indra/newview/skins/default/textures/icn_voice-pvtfocus.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icon_avatar_offline.tga b/indra/newview/skins/default/textures/icon_avatar_offline.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icon_avatar_online.tga b/indra/newview/skins/default/textures/icon_avatar_online.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icon_day_cycle.tga b/indra/newview/skins/default/textures/icon_day_cycle.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icon_diurnal.tga b/indra/newview/skins/default/textures/icon_diurnal.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icon_event_adult.tga b/indra/newview/skins/default/textures/icon_event_adult.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icon_for_sale_adult.tga b/indra/newview/skins/default/textures/icon_for_sale_adult.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icon_lock.tga b/indra/newview/skins/default/textures/icon_lock.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icon_top_pick.tga b/indra/newview/skins/default/textures/icon_top_pick.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/AddItem_Disabled.png b/indra/newview/skins/default/textures/icons/AddItem_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/AddItem_Off.png b/indra/newview/skins/default/textures/icons/AddItem_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/AddItem_Over.png b/indra/newview/skins/default/textures/icons/AddItem_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/AddItem_Press.png b/indra/newview/skins/default/textures/icons/AddItem_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/AudioMute_Off.png b/indra/newview/skins/default/textures/icons/AudioMute_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/AudioMute_Over.png b/indra/newview/skins/default/textures/icons/AudioMute_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Audio_Off.png b/indra/newview/skins/default/textures/icons/Audio_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Audio_Press.png b/indra/newview/skins/default/textures/icons/Audio_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/BackArrow_Off.png b/indra/newview/skins/default/textures/icons/BackArrow_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/BackArrow_Over.png b/indra/newview/skins/default/textures/icons/BackArrow_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/DownArrow_Off.png b/indra/newview/skins/default/textures/icons/DownArrow_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/DragHandle.png b/indra/newview/skins/default/textures/icons/DragHandle.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Edit_Wrench.png b/indra/newview/skins/default/textures/icons/Edit_Wrench.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/ExternalBrowser_Off.png b/indra/newview/skins/default/textures/icons/ExternalBrowser_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Female.png b/indra/newview/skins/default/textures/icons/Female.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/ForSale_Badge.png b/indra/newview/skins/default/textures/icons/ForSale_Badge.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/ForwardArrow_Off.png b/indra/newview/skins/default/textures/icons/ForwardArrow_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/ForwardArrow_Press.png b/indra/newview/skins/default/textures/icons/ForwardArrow_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Generic_Group.png b/indra/newview/skins/default/textures/icons/Generic_Group.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Generic_Group_Large.png b/indra/newview/skins/default/textures/icons/Generic_Group_Large.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Generic_Object.png b/indra/newview/skins/default/textures/icons/Generic_Object.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Generic_Object_Small.png b/indra/newview/skins/default/textures/icons/Generic_Object_Small.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Generic_Person.png b/indra/newview/skins/default/textures/icons/Generic_Person.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Generic_Person_Large.png b/indra/newview/skins/default/textures/icons/Generic_Person_Large.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Hierarchy_View_Disabled.png b/indra/newview/skins/default/textures/icons/Hierarchy_View_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Icon_For_Sale.png b/indra/newview/skins/default/textures/icons/Icon_For_Sale.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Info.png b/indra/newview/skins/default/textures/icons/Info.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Info_Over.png b/indra/newview/skins/default/textures/icons/Info_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Info_Small.png b/indra/newview/skins/default/textures/icons/Info_Small.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Alpha.png b/indra/newview/skins/default/textures/icons/Inv_Alpha.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Animation.png b/indra/newview/skins/default/textures/icons/Inv_Animation.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_BodyShape.png b/indra/newview/skins/default/textures/icons/Inv_BodyShape.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_CallingCard.png b/indra/newview/skins/default/textures/icons/Inv_CallingCard.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Clothing.png b/indra/newview/skins/default/textures/icons/Inv_Clothing.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Eye.png b/indra/newview/skins/default/textures/icons/Inv_Eye.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_FolderClosed.png b/indra/newview/skins/default/textures/icons/Inv_FolderClosed.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_FolderOpen.png b/indra/newview/skins/default/textures/icons/Inv_FolderOpen.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Gesture.png b/indra/newview/skins/default/textures/icons/Inv_Gesture.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Gloves.png b/indra/newview/skins/default/textures/icons/Inv_Gloves.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Hair.png b/indra/newview/skins/default/textures/icons/Inv_Hair.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Jacket.png b/indra/newview/skins/default/textures/icons/Inv_Jacket.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Landmark.png b/indra/newview/skins/default/textures/icons/Inv_Landmark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Link.png b/indra/newview/skins/default/textures/icons/Inv_Link.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_LinkFolder.png b/indra/newview/skins/default/textures/icons/Inv_LinkFolder.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_LinkItem.png b/indra/newview/skins/default/textures/icons/Inv_LinkItem.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_LookFolderClosed.png b/indra/newview/skins/default/textures/icons/Inv_LookFolderClosed.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_LookFolderOpen.png b/indra/newview/skins/default/textures/icons/Inv_LookFolderOpen.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_LostClosed.png b/indra/newview/skins/default/textures/icons/Inv_LostClosed.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_LostOpen.png b/indra/newview/skins/default/textures/icons/Inv_LostOpen.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Notecard.png b/indra/newview/skins/default/textures/icons/Inv_Notecard.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Object.png b/indra/newview/skins/default/textures/icons/Inv_Object.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Object_Multi.png b/indra/newview/skins/default/textures/icons/Inv_Object_Multi.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Pants.png b/indra/newview/skins/default/textures/icons/Inv_Pants.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Script.png b/indra/newview/skins/default/textures/icons/Inv_Script.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Shirt.png b/indra/newview/skins/default/textures/icons/Inv_Shirt.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Shoe.png b/indra/newview/skins/default/textures/icons/Inv_Shoe.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Skin.png b/indra/newview/skins/default/textures/icons/Inv_Skin.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Skirt.png b/indra/newview/skins/default/textures/icons/Inv_Skirt.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Snapshot.png b/indra/newview/skins/default/textures/icons/Inv_Snapshot.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Socks.png b/indra/newview/skins/default/textures/icons/Inv_Socks.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Sound.png b/indra/newview/skins/default/textures/icons/Inv_Sound.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_SysClosed.png b/indra/newview/skins/default/textures/icons/Inv_SysClosed.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_SysOpen.png b/indra/newview/skins/default/textures/icons/Inv_SysOpen.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Tattoo.png b/indra/newview/skins/default/textures/icons/Inv_Tattoo.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Texture.png b/indra/newview/skins/default/textures/icons/Inv_Texture.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png b/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png b/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Underpants.png b/indra/newview/skins/default/textures/icons/Inv_Underpants.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Inv_Undershirt.png b/indra/newview/skins/default/textures/icons/Inv_Undershirt.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/List_View_Disabled.png b/indra/newview/skins/default/textures/icons/List_View_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/List_View_On.png b/indra/newview/skins/default/textures/icons/List_View_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Lock.png b/indra/newview/skins/default/textures/icons/Lock.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Locked_Icon.png b/indra/newview/skins/default/textures/icons/Locked_Icon.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Male.png b/indra/newview/skins/default/textures/icons/Male.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Microphone_On.png b/indra/newview/skins/default/textures/icons/Microphone_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/MinusItem_Disabled.png b/indra/newview/skins/default/textures/icons/MinusItem_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/MinusItem_Off.png b/indra/newview/skins/default/textures/icons/MinusItem_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/MinusItem_Press.png b/indra/newview/skins/default/textures/icons/MinusItem_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/OptionsMenu_Disabled.png b/indra/newview/skins/default/textures/icons/OptionsMenu_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/OptionsMenu_Off.png b/indra/newview/skins/default/textures/icons/OptionsMenu_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/OptionsMenu_Over.png b/indra/newview/skins/default/textures/icons/OptionsMenu_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/OptionsMenu_Press.png b/indra/newview/skins/default/textures/icons/OptionsMenu_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.png b/indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png b/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png b/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_M_Light.png b/indra/newview/skins/default/textures/icons/Parcel_M_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png b/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png b/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_R_Light.png b/indra/newview/skins/default/textures/icons/Parcel_R_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png b/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Pause_Off.png b/indra/newview/skins/default/textures/icons/Pause_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Pause_Over.png b/indra/newview/skins/default/textures/icons/Pause_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Pause_Press.png b/indra/newview/skins/default/textures/icons/Pause_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Play_Off.png b/indra/newview/skins/default/textures/icons/Play_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Play_Over.png b/indra/newview/skins/default/textures/icons/Play_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Play_Press.png b/indra/newview/skins/default/textures/icons/Play_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_1.png b/indra/newview/skins/default/textures/icons/Progress_1.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_10.png b/indra/newview/skins/default/textures/icons/Progress_10.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_11.png b/indra/newview/skins/default/textures/icons/Progress_11.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_12.png b/indra/newview/skins/default/textures/icons/Progress_12.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_2.png b/indra/newview/skins/default/textures/icons/Progress_2.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_3.png b/indra/newview/skins/default/textures/icons/Progress_3.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_4.png b/indra/newview/skins/default/textures/icons/Progress_4.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_5.png b/indra/newview/skins/default/textures/icons/Progress_5.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_6.png b/indra/newview/skins/default/textures/icons/Progress_6.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_7.png b/indra/newview/skins/default/textures/icons/Progress_7.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_8.png b/indra/newview/skins/default/textures/icons/Progress_8.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Progress_9.png b/indra/newview/skins/default/textures/icons/Progress_9.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Refresh_Off.png b/indra/newview/skins/default/textures/icons/Refresh_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/SL_Logo.png b/indra/newview/skins/default/textures/icons/SL_Logo.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Search_Icon.png b/indra/newview/skins/default/textures/icons/Search_Icon.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Shirt_Large.png b/indra/newview/skins/default/textures/icons/Shirt_Large.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Shop.png b/indra/newview/skins/default/textures/icons/Shop.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/SkipBackward_Off.png b/indra/newview/skins/default/textures/icons/SkipBackward_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/SkipForward_Off.png b/indra/newview/skins/default/textures/icons/SkipForward_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/StopReload_Off.png b/indra/newview/skins/default/textures/icons/StopReload_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/StopReload_Over.png b/indra/newview/skins/default/textures/icons/StopReload_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Stop_Off.png b/indra/newview/skins/default/textures/icons/Stop_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/TrashItem_Disabled.png b/indra/newview/skins/default/textures/icons/TrashItem_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/TrashItem_Off.png b/indra/newview/skins/default/textures/icons/TrashItem_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/TrashItem_Over.png b/indra/newview/skins/default/textures/icons/TrashItem_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/TrashItem_Press.png b/indra/newview/skins/default/textures/icons/TrashItem_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/UnZoom_Off.png b/indra/newview/skins/default/textures/icons/UnZoom_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/UpArrow_Off.png b/indra/newview/skins/default/textures/icons/UpArrow_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/VoicePTT_Lvl1.png b/indra/newview/skins/default/textures/icons/VoicePTT_Lvl1.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/VoicePTT_Lvl2.png b/indra/newview/skins/default/textures/icons/VoicePTT_Lvl2.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/VoicePTT_Lvl3.png b/indra/newview/skins/default/textures/icons/VoicePTT_Lvl3.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/VoicePTT_Off.png b/indra/newview/skins/default/textures/icons/VoicePTT_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/VoicePTT_On.png b/indra/newview/skins/default/textures/icons/VoicePTT_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/YouAreHere_Badge.png b/indra/newview/skins/default/textures/icons/YouAreHere_Badge.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/Zoom_Off.png b/indra/newview/skins/default/textures/icons/Zoom_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/avaline_default_icon.jpg b/indra/newview/skins/default/textures/icons/avaline_default_icon.jpg old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/back_arrow_off.png b/indra/newview/skins/default/textures/icons/back_arrow_off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/back_arrow_over.png b/indra/newview/skins/default/textures/icons/back_arrow_over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/back_arrow_press.png b/indra/newview/skins/default/textures/icons/back_arrow_press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/object_icon.png b/indra/newview/skins/default/textures/icons/object_icon.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/parcel_color_EVRY.png b/indra/newview/skins/default/textures/icons/parcel_color_EVRY.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/parcel_color_EXP.png b/indra/newview/skins/default/textures/icons/parcel_color_EXP.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/parcel_color_M.png b/indra/newview/skins/default/textures/icons/parcel_color_M.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/icons/unknown_icon.png b/indra/newview/skins/default/textures/icons/unknown_icon.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/image_edit_icon.tga b/indra/newview/skins/default/textures/image_edit_icon.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/inv_folder_animation.tga b/indra/newview/skins/default/textures/inv_folder_animation.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/inv_folder_inbox.tga b/indra/newview/skins/default/textures/inv_folder_inbox.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/jump_left_in.tga b/indra/newview/skins/default/textures/jump_left_in.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/jump_left_out.tga b/indra/newview/skins/default/textures/jump_left_out.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/jump_right_in.tga b/indra/newview/skins/default/textures/jump_right_in.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/jump_right_out.tga b/indra/newview/skins/default/textures/jump_right_out.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/lag_status_critical.tga b/indra/newview/skins/default/textures/lag_status_critical.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/lag_status_good.tga b/indra/newview/skins/default/textures/lag_status_good.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/lag_status_warning.tga b/indra/newview/skins/default/textures/lag_status_warning.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/legend.tga b/indra/newview/skins/default/textures/legend.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/locked_image.j2c b/indra/newview/skins/default/textures/locked_image.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_avatar_16.tga b/indra/newview/skins/default/textures/map_avatar_16.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_avatar_32.tga b/indra/newview/skins/default/textures/map_avatar_32.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_avatar_8.tga b/indra/newview/skins/default/textures/map_avatar_8.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_avatar_above_32.tga b/indra/newview/skins/default/textures/map_avatar_above_32.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_avatar_above_8.tga b/indra/newview/skins/default/textures/map_avatar_above_8.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_avatar_below_32.tga b/indra/newview/skins/default/textures/map_avatar_below_32.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_avatar_below_8.tga b/indra/newview/skins/default/textures/map_avatar_below_8.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_avatar_you_32.tga b/indra/newview/skins/default/textures/map_avatar_you_32.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_event.tga b/indra/newview/skins/default/textures/map_event.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_event_adult.tga b/indra/newview/skins/default/textures/map_event_adult.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_event_mature.tga b/indra/newview/skins/default/textures/map_event_mature.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_home.tga b/indra/newview/skins/default/textures/map_home.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_infohub.tga b/indra/newview/skins/default/textures/map_infohub.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_telehub.tga b/indra/newview/skins/default/textures/map_telehub.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_track_16.tga b/indra/newview/skins/default/textures/map_track_16.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/map_track_8.tga b/indra/newview/skins/default/textures/map_track_8.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/menu_separator.png b/indra/newview/skins/default/textures/menu_separator.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/missing_asset.tga b/indra/newview/skins/default/textures/missing_asset.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/mute_icon.tga b/indra/newview/skins/default/textures/mute_icon.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Arrow_Left_Off.png b/indra/newview/skins/default/textures/navbar/Arrow_Left_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Arrow_Left_Over.png b/indra/newview/skins/default/textures/navbar/Arrow_Left_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Arrow_Right_Off.png b/indra/newview/skins/default/textures/navbar/Arrow_Right_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Arrow_Right_Over.png b/indra/newview/skins/default/textures/navbar/Arrow_Right_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png b/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/BuyArrow_Press.png b/indra/newview/skins/default/textures/navbar/BuyArrow_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Favorite_Link_Over.png b/indra/newview/skins/default/textures/navbar/Favorite_Link_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Favorite_Star_Active.png b/indra/newview/skins/default/textures/navbar/Favorite_Star_Active.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Favorite_Star_Off.png b/indra/newview/skins/default/textures/navbar/Favorite_Star_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Favorite_Star_Over.png b/indra/newview/skins/default/textures/navbar/Favorite_Star_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Favorite_Star_Press.png b/indra/newview/skins/default/textures/navbar/Favorite_Star_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/FileMenu_Divider.png b/indra/newview/skins/default/textures/navbar/FileMenu_Divider.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Flag.png b/indra/newview/skins/default/textures/navbar/Flag.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Help_Over.png b/indra/newview/skins/default/textures/navbar/Help_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Help_Press.png b/indra/newview/skins/default/textures/navbar/Help_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Home_Off.png b/indra/newview/skins/default/textures/navbar/Home_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Home_Over.png b/indra/newview/skins/default/textures/navbar/Home_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Info_Off.png b/indra/newview/skins/default/textures/navbar/Info_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Info_Over.png b/indra/newview/skins/default/textures/navbar/Info_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Info_Press.png b/indra/newview/skins/default/textures/navbar/Info_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Lock.png b/indra/newview/skins/default/textures/navbar/Lock.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/NavBar_BG.png b/indra/newview/skins/default/textures/navbar/NavBar_BG.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/NavBar_BG_NoFav_Bevel.png b/indra/newview/skins/default/textures/navbar/NavBar_BG_NoFav_Bevel.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/NavBar_BG_NoNav_Bevel.png b/indra/newview/skins/default/textures/navbar/NavBar_BG_NoNav_Bevel.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Row_Selection.png b/indra/newview/skins/default/textures/navbar/Row_Selection.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/navbar/Search.png b/indra/newview/skins/default/textures/navbar/Search.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/notify_caution_icon.tga b/indra/newview/skins/default/textures/notify_caution_icon.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/pixiesmall.j2c b/indra/newview/skins/default/textures/pixiesmall.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/places_rating_adult.tga b/indra/newview/skins/default/textures/places_rating_adult.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/places_rating_mature.tga b/indra/newview/skins/default/textures/places_rating_mature.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/places_rating_pg.tga b/indra/newview/skins/default/textures/places_rating_pg.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/propertyline.tga b/indra/newview/skins/default/textures/propertyline.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/avatar_free_mode.png b/indra/newview/skins/default/textures/quick_tips/avatar_free_mode.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/camera_free_mode.png b/indra/newview/skins/default/textures/quick_tips/camera_free_mode.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/camera_orbit_mode.png b/indra/newview/skins/default/textures/quick_tips/camera_orbit_mode.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/camera_pan_mode.png b/indra/newview/skins/default/textures/quick_tips/camera_pan_mode.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/camera_preset_front_view.png b/indra/newview/skins/default/textures/quick_tips/camera_preset_front_view.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/camera_preset_group_view.png b/indra/newview/skins/default/textures/quick_tips/camera_preset_group_view.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/camera_preset_rear_view.png b/indra/newview/skins/default/textures/quick_tips/camera_preset_rear_view.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/move_fly_first.png b/indra/newview/skins/default/textures/quick_tips/move_fly_first.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/move_fly_second.png b/indra/newview/skins/default/textures/quick_tips/move_fly_second.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/move_run_first.png b/indra/newview/skins/default/textures/quick_tips/move_run_first.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/move_run_second.png b/indra/newview/skins/default/textures/quick_tips/move_run_second.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/move_walk_first.png b/indra/newview/skins/default/textures/quick_tips/move_walk_first.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/quick_tips/move_walk_second.png b/indra/newview/skins/default/textures/quick_tips/move_walk_second.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/rounded_square.j2c b/indra/newview/skins/default/textures/rounded_square.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/script_error.j2c b/indra/newview/skins/default/textures/script_error.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/show_btn.tga b/indra/newview/skins/default/textures/show_btn.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/show_btn_selected.tga b/indra/newview/skins/default/textures/show_btn_selected.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/silhouette.j2c b/indra/newview/skins/default/textures/silhouette.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/slim_icon_16_viewer.tga b/indra/newview/skins/default/textures/slim_icon_16_viewer.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/smicon_warn.tga b/indra/newview/skins/default/textures/smicon_warn.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/spacer24.tga b/indra/newview/skins/default/textures/spacer24.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/spacer35.tga b/indra/newview/skins/default/textures/spacer35.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/square_btn_32x128.tga b/indra/newview/skins/default/textures/square_btn_32x128.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/square_btn_selected_32x128.tga b/indra/newview/skins/default/textures/square_btn_selected_32x128.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/startup_logo.j2c b/indra/newview/skins/default/textures/startup_logo.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/status_busy.tga b/indra/newview/skins/default/textures/status_busy.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/tabarea.tga b/indra/newview/skins/default/textures/tabarea.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/Activate_Checkmark.png b/indra/newview/skins/default/textures/taskpanel/Activate_Checkmark.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Appearance_Off.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Appearance_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Appearance_Selected.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Appearance_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Close_Off.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Close_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Home_Off.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Home_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Home_Selected.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Home_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Me_Off.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Me_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Me_Selected.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Me_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Open_Off.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Open_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_People_Off.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_People_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_People_Selected.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_People_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Places_Large.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Places_Large.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Places_Off.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Places_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Places_Selected.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Places_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Things_Off.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Things_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TabIcon_Things_Selected.png b/indra/newview/skins/default/textures/taskpanel/TabIcon_Things_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TaskPanel_Tab_Off.png b/indra/newview/skins/default/textures/taskpanel/TaskPanel_Tab_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/taskpanel/TaskPanel_Tab_Selected.png b/indra/newview/skins/default/textures/taskpanel/TaskPanel_Tab_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/tearoff_pressed.tga b/indra/newview/skins/default/textures/tearoff_pressed.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/tearoffbox.tga b/indra/newview/skins/default/textures/tearoffbox.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/transparent.j2c b/indra/newview/skins/default/textures/transparent.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/up_arrow.png b/indra/newview/skins/default/textures/up_arrow.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/uv_test1.j2c b/indra/newview/skins/default/textures/uv_test1.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/uv_test2.tga b/indra/newview/skins/default/textures/uv_test2.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/voice_meter_dot.j2c b/indra/newview/skins/default/textures/voice_meter_dot.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/voice_meter_rings.j2c b/indra/newview/skins/default/textures/voice_meter_rings.j2c old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/white.tga b/indra/newview/skins/default/textures/white.tga old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Arrow_Down.png b/indra/newview/skins/default/textures/widgets/Arrow_Down.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Arrow_Small_Left.png b/indra/newview/skins/default/textures/widgets/Arrow_Small_Left.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Arrow_Small_Right.png b/indra/newview/skins/default/textures/widgets/Arrow_Small_Right.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Arrow_Small_Up.png b/indra/newview/skins/default/textures/widgets/Arrow_Small_Up.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Arrow_Up.png b/indra/newview/skins/default/textures/widgets/Arrow_Up.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Disabled.png b/indra/newview/skins/default/textures/widgets/Checkbox_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Off.png b/indra/newview/skins/default/textures/widgets/Checkbox_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_On.png b/indra/newview/skins/default/textures/widgets/Checkbox_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_On_Disabled.png b/indra/newview/skins/default/textures/widgets/Checkbox_On_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_On_Over.png b/indra/newview/skins/default/textures/widgets/Checkbox_On_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_On_Press.png b/indra/newview/skins/default/textures/widgets/Checkbox_On_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Over.png b/indra/newview/skins/default/textures/widgets/Checkbox_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Press.png b/indra/newview/skins/default/textures/widgets/Checkbox_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Disabled.png b/indra/newview/skins/default/textures/widgets/ComboButton_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Off.png b/indra/newview/skins/default/textures/widgets/ComboButton_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_On.png b/indra/newview/skins/default/textures/widgets/ComboButton_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Selected.png b/indra/newview/skins/default/textures/widgets/ComboButton_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_UpOff.png b/indra/newview/skins/default/textures/widgets/ComboButton_UpOff.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_UpSelected.png b/indra/newview/skins/default/textures/widgets/ComboButton_UpSelected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Up_On_Selected.png b/indra/newview/skins/default/textures/widgets/ComboButton_Up_On_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/DisclosureArrow_Closed_Over.png b/indra/newview/skins/default/textures/widgets/DisclosureArrow_Closed_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/DisclosureArrow_Opened_Off.png b/indra/newview/skins/default/textures/widgets/DisclosureArrow_Opened_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/DisclosureArrow_Opened_Over.png b/indra/newview/skins/default/textures/widgets/DisclosureArrow_Opened_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/DropDown_Disabled.png b/indra/newview/skins/default/textures/widgets/DropDown_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/DropDown_Off.png b/indra/newview/skins/default/textures/widgets/DropDown_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/DropDown_On.png b/indra/newview/skins/default/textures/widgets/DropDown_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/DropDown_Press.png b/indra/newview/skins/default/textures/widgets/DropDown_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/DropTarget.png b/indra/newview/skins/default/textures/widgets/DropTarget.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Linden_Dollar_Alert.png b/indra/newview/skins/default/textures/widgets/Linden_Dollar_Alert.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Linden_Dollar_Background.png b/indra/newview/skins/default/textures/widgets/Linden_Dollar_Background.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ListItem_Over.png b/indra/newview/skins/default/textures/widgets/ListItem_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ListItem_Select.png b/indra/newview/skins/default/textures/widgets/ListItem_Select.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ProgressBar.png b/indra/newview/skins/default/textures/widgets/ProgressBar.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ProgressTrack.png b/indra/newview/skins/default/textures/widgets/ProgressTrack.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Disabled.png b/indra/newview/skins/default/textures/widgets/PushButton_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Off.png b/indra/newview/skins/default/textures/widgets/PushButton_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_On.png b/indra/newview/skins/default/textures/widgets/PushButton_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_On_Over.png b/indra/newview/skins/default/textures/widgets/PushButton_On_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_On_Selected.png b/indra/newview/skins/default/textures/widgets/PushButton_On_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Over.png b/indra/newview/skins/default/textures/widgets/PushButton_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Press.png b/indra/newview/skins/default/textures/widgets/PushButton_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Selected.png b/indra/newview/skins/default/textures/widgets/PushButton_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Selected_Disabled.png b/indra/newview/skins/default/textures/widgets/PushButton_Selected_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Selected_Over.png b/indra/newview/skins/default/textures/widgets/PushButton_Selected_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Selected_Press.png b/indra/newview/skins/default/textures/widgets/PushButton_Selected_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_Disabled.png b/indra/newview/skins/default/textures/widgets/RadioButton_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_Off.png b/indra/newview/skins/default/textures/widgets/RadioButton_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_On.png b/indra/newview/skins/default/textures/widgets/RadioButton_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_On_Disabled.png b/indra/newview/skins/default/textures/widgets/RadioButton_On_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_On_Over.png b/indra/newview/skins/default/textures/widgets/RadioButton_On_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_On_Press.png b/indra/newview/skins/default/textures/widgets/RadioButton_On_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_Over.png b/indra/newview/skins/default/textures/widgets/RadioButton_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_Press.png b/indra/newview/skins/default/textures/widgets/RadioButton_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Down.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Down.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Opaque.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Down_Over_Opaque.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Left.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Left.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Left_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Left_Opaque.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Left_Over.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Left_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Left_Over_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Left_Over_Opaque.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Right.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Right.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Right_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Right_Opaque.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Right_Over.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Right_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Right_Over_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Right_Over_Opaque.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Up.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Up.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Opaque.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over_Opaque.png b/indra/newview/skins/default/textures/widgets/ScrollArrow_Up_Over_Opaque.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollThumb_Horiz.png b/indra/newview/skins/default/textures/widgets/ScrollThumb_Horiz.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollThumb_Horiz_Over.png b/indra/newview/skins/default/textures/widgets/ScrollThumb_Horiz_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollThumb_Vert.png b/indra/newview/skins/default/textures/widgets/ScrollThumb_Vert.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollThumb_Vert_Over.png b/indra/newview/skins/default/textures/widgets/ScrollThumb_Vert_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollTrack_Horiz.png b/indra/newview/skins/default/textures/widgets/ScrollTrack_Horiz.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/ScrollTrack_Vert.png b/indra/newview/skins/default/textures/widgets/ScrollTrack_Vert.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Off.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On_Selected.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_On_Selected.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Press.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Left_Selected.png old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_On.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_On_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_On_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_On_Press.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_On_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected.png old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Over.png old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Off.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_On_Over.png old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Press.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected.png old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Over.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Right_Selected_Over.png old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SliderThumb_Disabled.png b/indra/newview/skins/default/textures/widgets/SliderThumb_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SliderThumb_Off.png b/indra/newview/skins/default/textures/widgets/SliderThumb_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SliderThumb_Over.png b/indra/newview/skins/default/textures/widgets/SliderThumb_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SliderThumb_Press.png b/indra/newview/skins/default/textures/widgets/SliderThumb_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SliderTrack_Horiz.png b/indra/newview/skins/default/textures/widgets/SliderTrack_Horiz.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/SliderTrack_Vert.png b/indra/newview/skins/default/textures/widgets/SliderTrack_Vert.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Stepper_Down_Off.png b/indra/newview/skins/default/textures/widgets/Stepper_Down_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Stepper_Down_Over.png b/indra/newview/skins/default/textures/widgets/Stepper_Down_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Stepper_Down_Press.png b/indra/newview/skins/default/textures/widgets/Stepper_Down_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Stepper_Up_Off.png b/indra/newview/skins/default/textures/widgets/Stepper_Up_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Stepper_Up_Over.png b/indra/newview/skins/default/textures/widgets/Stepper_Up_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Stepper_Up_Press.png b/indra/newview/skins/default/textures/widgets/Stepper_Up_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/TextField_Active.png b/indra/newview/skins/default/textures/widgets/TextField_Active.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/TextField_Disabled.png b/indra/newview/skins/default/textures/widgets/TextField_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/TextField_Off.png b/indra/newview/skins/default/textures/widgets/TextField_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/TextField_Search_Active.png b/indra/newview/skins/default/textures/widgets/TextField_Search_Active.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/TextField_Search_Disabled.png b/indra/newview/skins/default/textures/widgets/TextField_Search_Disabled.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/TextField_Search_Off.png b/indra/newview/skins/default/textures/widgets/TextField_Search_Off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/Tooltip.png b/indra/newview/skins/default/textures/widgets/Tooltip.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/bevel_background.png b/indra/newview/skins/default/textures/widgets/bevel_background.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/buy_off.png b/indra/newview/skins/default/textures/widgets/buy_off.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/buy_over.png b/indra/newview/skins/default/textures/widgets/buy_over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/buy_press.png b/indra/newview/skins/default/textures/widgets/buy_press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/jump_left_in.png b/indra/newview/skins/default/textures/widgets/jump_left_in.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/jump_left_out.png b/indra/newview/skins/default/textures/widgets/jump_left_out.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/jump_right_in.png b/indra/newview/skins/default/textures/widgets/jump_right_in.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/widgets/jump_right_out.png b/indra/newview/skins/default/textures/widgets/jump_right_out.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Dragbar.png b/indra/newview/skins/default/textures/windows/Dragbar.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Flyout.png b/indra/newview/skins/default/textures/windows/Flyout.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Flyout_Pointer.png b/indra/newview/skins/default/textures/windows/Flyout_Pointer.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Flyout_Pointer_Up.png b/indra/newview/skins/default/textures/windows/Flyout_Pointer_Up.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Close_Press.png b/indra/newview/skins/default/textures/windows/Icon_Close_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Close_Toast.png b/indra/newview/skins/default/textures/windows/Icon_Close_Toast.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Dock_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Dock_Foreground.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Dock_Press.png b/indra/newview/skins/default/textures/windows/Icon_Dock_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Gear_Background.png b/indra/newview/skins/default/textures/windows/Icon_Gear_Background.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Gear_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Gear_Foreground.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Gear_Over.png b/indra/newview/skins/default/textures/windows/Icon_Gear_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Gear_Press.png b/indra/newview/skins/default/textures/windows/Icon_Gear_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Help_Press.png b/indra/newview/skins/default/textures/windows/Icon_Help_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png b/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png b/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Undock_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Undock_Foreground.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Icon_Undock_Press.png b/indra/newview/skins/default/textures/windows/Icon_Undock_Press.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Inspector_Background.png b/indra/newview/skins/default/textures/windows/Inspector_Background.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Inspector_Hover.png b/indra/newview/skins/default/textures/windows/Inspector_Hover.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Inspector_I.png b/indra/newview/skins/default/textures/windows/Inspector_I.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Resize_Corner.png b/indra/newview/skins/default/textures/windows/Resize_Corner.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Toast_Background.png b/indra/newview/skins/default/textures/windows/Toast_Background.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Toast_CloseBtn.png b/indra/newview/skins/default/textures/windows/Toast_CloseBtn.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Toast_Over.png b/indra/newview/skins/default/textures/windows/Toast_Over.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Volume_Background.png b/indra/newview/skins/default/textures/windows/Volume_Background.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Wearables_Divider.png b/indra/newview/skins/default/textures/windows/Wearables_Divider.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Window_Background.png b/indra/newview/skins/default/textures/windows/Window_Background.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Window_Foreground.png b/indra/newview/skins/default/textures/windows/Window_Foreground.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Window_NoTitle_Background.png b/indra/newview/skins/default/textures/windows/Window_NoTitle_Background.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/Window_NoTitle_Foreground.png b/indra/newview/skins/default/textures/windows/Window_NoTitle_Foreground.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/windows/startup_logo.png b/indra/newview/skins/default/textures/windows/startup_logo.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/world/BeaconArrow.png b/indra/newview/skins/default/textures/world/BeaconArrow.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/world/NoEntryLines.png b/indra/newview/skins/default/textures/world/NoEntryLines.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/textures/world/NoEntryPassLines.png b/indra/newview/skins/default/textures/world/NoEntryPassLines.png old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_about.xml b/indra/newview/skins/default/xui/da/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_about_land.xml b/indra/newview/skins/default/xui/da/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_activeim.xml b/indra/newview/skins/default/xui/da/floater_activeim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_animation_preview.xml b/indra/newview/skins/default/xui/da/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_auction.xml b/indra/newview/skins/default/xui/da/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_avatar_picker.xml b/indra/newview/skins/default/xui/da/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_avatar_textures.xml b/indra/newview/skins/default/xui/da/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_beacons.xml b/indra/newview/skins/default/xui/da/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_build_options.xml b/indra/newview/skins/default/xui/da/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_bulk_perms.xml b/indra/newview/skins/default/xui/da/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_bumps.xml b/indra/newview/skins/default/xui/da/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_buy_contents.xml b/indra/newview/skins/default/xui/da/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_buy_currency.xml b/indra/newview/skins/default/xui/da/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/da/floater_buy_currency_html.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_buy_land.xml b/indra/newview/skins/default/xui/da/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_buy_object.xml b/indra/newview/skins/default/xui/da/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_camera.xml b/indra/newview/skins/default/xui/da/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_choose_group.xml b/indra/newview/skins/default/xui/da/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_color_picker.xml b/indra/newview/skins/default/xui/da/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_critical.xml b/indra/newview/skins/default/xui/da/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_customize.xml b/indra/newview/skins/default/xui/da/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/da/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_device_settings.xml b/indra/newview/skins/default/xui/da/floater_device_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_env_settings.xml b/indra/newview/skins/default/xui/da/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_event.xml b/indra/newview/skins/default/xui/da/floater_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_font_test.xml b/indra/newview/skins/default/xui/da/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_gesture.xml b/indra/newview/skins/default/xui/da/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_god_tools.xml b/indra/newview/skins/default/xui/da/floater_god_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_hardware_settings.xml b/indra/newview/skins/default/xui/da/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_help_browser.xml b/indra/newview/skins/default/xui/da/floater_help_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_hud.xml b/indra/newview/skins/default/xui/da/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_im.xml b/indra/newview/skins/default/xui/da/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_im_container.xml b/indra/newview/skins/default/xui/da/floater_im_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_im_session.xml b/indra/newview/skins/default/xui/da/floater_im_session.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_image_preview.xml b/indra/newview/skins/default/xui/da/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_incoming_call.xml b/indra/newview/skins/default/xui/da/floater_incoming_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_inspect.xml b/indra/newview/skins/default/xui/da/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_inventory.xml b/indra/newview/skins/default/xui/da/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/da/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/da/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_joystick.xml b/indra/newview/skins/default/xui/da/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_lagmeter.xml b/indra/newview/skins/default/xui/da/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_land_holdings.xml b/indra/newview/skins/default/xui/da/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/da/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_lsl_guide.xml b/indra/newview/skins/default/xui/da/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_map.xml b/indra/newview/skins/default/xui/da/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_media_browser.xml b/indra/newview/skins/default/xui/da/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_media_settings.xml b/indra/newview/skins/default/xui/da/floater_media_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_mem_leaking.xml b/indra/newview/skins/default/xui/da/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_moveview.xml b/indra/newview/skins/default/xui/da/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_mute_object.xml b/indra/newview/skins/default/xui/da/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_my_friends.xml b/indra/newview/skins/default/xui/da/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_nearby_chat.xml b/indra/newview/skins/default/xui/da/floater_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_openobject.xml b/indra/newview/skins/default/xui/da/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/da/floater_outfit_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_outgoing_call.xml b/indra/newview/skins/default/xui/da/floater_outgoing_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_pay.xml b/indra/newview/skins/default/xui/da/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_pay_object.xml b/indra/newview/skins/default/xui/da/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_perm_prefs.xml b/indra/newview/skins/default/xui/da/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_postcard.xml b/indra/newview/skins/default/xui/da/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preferences.xml b/indra/newview/skins/default/xui/da/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_animation.xml b/indra/newview/skins/default/xui/da/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_classified.xml b/indra/newview/skins/default/xui/da/floater_preview_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_event.xml b/indra/newview/skins/default/xui/da/floater_preview_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_gesture.xml b/indra/newview/skins/default/xui/da/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/da/floater_preview_gesture_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/da/floater_preview_gesture_shortcut.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/da/floater_preview_gesture_steps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_notecard.xml b/indra/newview/skins/default/xui/da/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_sound.xml b/indra/newview/skins/default/xui/da/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_preview_texture.xml b/indra/newview/skins/default/xui/da/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_publish_classified.xml b/indra/newview/skins/default/xui/da/floater_publish_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_region_info.xml b/indra/newview/skins/default/xui/da/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_report_abuse.xml b/indra/newview/skins/default/xui/da/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_script_debug.xml b/indra/newview/skins/default/xui/da/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/da/floater_script_debug_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_script_limits.xml b/indra/newview/skins/default/xui/da/floater_script_limits.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_script_preview.xml b/indra/newview/skins/default/xui/da/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_script_queue.xml b/indra/newview/skins/default/xui/da/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_script_search.xml b/indra/newview/skins/default/xui/da/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_search.xml b/indra/newview/skins/default/xui/da/floater_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_select_key.xml b/indra/newview/skins/default/xui/da/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_sell_land.xml b/indra/newview/skins/default/xui/da/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_settings_debug.xml b/indra/newview/skins/default/xui/da/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_snapshot.xml b/indra/newview/skins/default/xui/da/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_sound_preview.xml b/indra/newview/skins/default/xui/da/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_statistics.xml b/indra/newview/skins/default/xui/da/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_stats.xml b/indra/newview/skins/default/xui/da/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_sys_well.xml b/indra/newview/skins/default/xui/da/floater_sys_well.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_telehub.xml b/indra/newview/skins/default/xui/da/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/da/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_tools.xml b/indra/newview/skins/default/xui/da/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_top_objects.xml b/indra/newview/skins/default/xui/da/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_tos.xml b/indra/newview/skins/default/xui/da/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_url_entry.xml b/indra/newview/skins/default/xui/da/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_voice_controls.xml b/indra/newview/skins/default/xui/da/floater_voice_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_voice_effect.xml b/indra/newview/skins/default/xui/da/floater_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_water.xml b/indra/newview/skins/default/xui/da/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/da/floater_wearable_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/da/floater_whitelist_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_windlight_options.xml b/indra/newview/skins/default/xui/da/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_window_size.xml b/indra/newview/skins/default/xui/da/floater_window_size.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/floater_world_map.xml b/indra/newview/skins/default/xui/da/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/inspect_avatar.xml b/indra/newview/skins/default/xui/da/inspect_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/inspect_group.xml b/indra/newview/skins/default/xui/da/inspect_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/inspect_object.xml b/indra/newview/skins/default/xui/da/inspect_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/inspect_remote_object.xml b/indra/newview/skins/default/xui/da/inspect_remote_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/language_settings.xml b/indra/newview/skins/default/xui/da/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_attachment_other.xml b/indra/newview/skins/default/xui/da/menu_attachment_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_attachment_self.xml b/indra/newview/skins/default/xui/da/menu_attachment_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_avatar_icon.xml b/indra/newview/skins/default/xui/da/menu_avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_avatar_other.xml b/indra/newview/skins/default/xui/da/menu_avatar_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_avatar_self.xml b/indra/newview/skins/default/xui/da/menu_avatar_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_bottomtray.xml b/indra/newview/skins/default/xui/da/menu_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_cof_attachment.xml b/indra/newview/skins/default/xui/da/menu_cof_attachment.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_cof_body_part.xml b/indra/newview/skins/default/xui/da/menu_cof_body_part.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_cof_clothing.xml b/indra/newview/skins/default/xui/da/menu_cof_clothing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_cof_gear.xml b/indra/newview/skins/default/xui/da/menu_cof_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_edit.xml b/indra/newview/skins/default/xui/da/menu_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_favorites.xml b/indra/newview/skins/default/xui/da/menu_favorites.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_gesture_gear.xml b/indra/newview/skins/default/xui/da/menu_gesture_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_group_plus.xml b/indra/newview/skins/default/xui/da/menu_group_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_hide_navbar.xml b/indra/newview/skins/default/xui/da/menu_hide_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_im_well_button.xml b/indra/newview/skins/default/xui/da/menu_im_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/da/menu_imchiclet_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/da/menu_imchiclet_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/da/menu_imchiclet_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/da/menu_inspect_object_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/da/menu_inspect_self_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/da/menu_inv_offer_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_inventory.xml b/indra/newview/skins/default/xui/da/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_inventory_add.xml b/indra/newview/skins/default/xui/da/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/da/menu_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_land.xml b/indra/newview/skins/default/xui/da/menu_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_landmark.xml b/indra/newview/skins/default/xui/da/menu_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_login.xml b/indra/newview/skins/default/xui/da/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_mini_map.xml b/indra/newview/skins/default/xui/da/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_navbar.xml b/indra/newview/skins/default/xui/da/menu_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_nearby_chat.xml b/indra/newview/skins/default/xui/da/menu_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_notification_well_button.xml b/indra/newview/skins/default/xui/da/menu_notification_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_object.xml b/indra/newview/skins/default/xui/da/menu_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_object_icon.xml b/indra/newview/skins/default/xui/da/menu_object_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_outfit_gear.xml b/indra/newview/skins/default/xui/da/menu_outfit_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_outfit_tab.xml b/indra/newview/skins/default/xui/da/menu_outfit_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_participant_list.xml b/indra/newview/skins/default/xui/da/menu_participant_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/da/menu_people_friends_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_people_groups.xml b/indra/newview/skins/default/xui/da/menu_people_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/da/menu_people_groups_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_people_nearby.xml b/indra/newview/skins/default/xui/da/menu_people_nearby.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/da/menu_people_nearby_multiselect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/da/menu_people_nearby_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/da/menu_people_recent_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_picks.xml b/indra/newview/skins/default/xui/da/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_picks_plus.xml b/indra/newview/skins/default/xui/da/menu_picks_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_place.xml b/indra/newview/skins/default/xui/da/menu_place.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_place_add_button.xml b/indra/newview/skins/default/xui/da/menu_place_add_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/da/menu_places_gear_folder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/da/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_profile_overflow.xml b/indra/newview/skins/default/xui/da/menu_profile_overflow.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_save_outfit.xml b/indra/newview/skins/default/xui/da/menu_save_outfit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_script_chiclet.xml b/indra/newview/skins/default/xui/da/menu_script_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_slurl.xml b/indra/newview/skins/default/xui/da/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/da/menu_teleport_history_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/da/menu_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/da/menu_teleport_history_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_text_editor.xml b/indra/newview/skins/default/xui/da/menu_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_topinfobar.xml b/indra/newview/skins/default/xui/da/menu_topinfobar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_agent.xml b/indra/newview/skins/default/xui/da/menu_url_agent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_group.xml b/indra/newview/skins/default/xui/da/menu_url_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_http.xml b/indra/newview/skins/default/xui/da/menu_url_http.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_inventory.xml b/indra/newview/skins/default/xui/da/menu_url_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_map.xml b/indra/newview/skins/default/xui/da/menu_url_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_objectim.xml b/indra/newview/skins/default/xui/da/menu_url_objectim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_parcel.xml b/indra/newview/skins/default/xui/da/menu_url_parcel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_slapp.xml b/indra/newview/skins/default/xui/da/menu_url_slapp.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_slurl.xml b/indra/newview/skins/default/xui/da/menu_url_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_url_teleport.xml b/indra/newview/skins/default/xui/da/menu_url_teleport.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_viewer.xml b/indra/newview/skins/default/xui/da/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_wearing_gear.xml b/indra/newview/skins/default/xui/da/menu_wearing_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/menu_wearing_tab.xml b/indra/newview/skins/default/xui/da/menu_wearing_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/mime_types.xml b/indra/newview/skins/default/xui/da/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/mime_types_linux.xml b/indra/newview/skins/default/xui/da/mime_types_linux.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/mime_types_mac.xml b/indra/newview/skins/default/xui/da/mime_types_mac.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/da/outfit_accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_active_object_row.xml b/indra/newview/skins/default/xui/da/panel_active_object_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_audio_device.xml b/indra/newview/skins/default/xui/da/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/da/panel_avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/da/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/da/panel_body_parts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/da/panel_bodyparts_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_bottomtray.xml b/indra/newview/skins/default/xui/da/panel_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/da/panel_bottomtray_lite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_classified_info.xml b/indra/newview/skins/default/xui/da/panel_classified_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/da/panel_clothing_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/da/panel_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_cof_wearables.xml b/indra/newview/skins/default/xui/da/panel_cof_wearables.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/da/panel_deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/da/panel_dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_alpha.xml b/indra/newview/skins/default/xui/da/panel_edit_alpha.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_classified.xml b/indra/newview/skins/default/xui/da/panel_edit_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_eyes.xml b/indra/newview/skins/default/xui/da/panel_edit_eyes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_gloves.xml b/indra/newview/skins/default/xui/da/panel_edit_gloves.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_hair.xml b/indra/newview/skins/default/xui/da/panel_edit_hair.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_jacket.xml b/indra/newview/skins/default/xui/da/panel_edit_jacket.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_pants.xml b/indra/newview/skins/default/xui/da/panel_edit_pants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_pick.xml b/indra/newview/skins/default/xui/da/panel_edit_pick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_profile.xml b/indra/newview/skins/default/xui/da/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_shape.xml b/indra/newview/skins/default/xui/da/panel_edit_shape.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_shirt.xml b/indra/newview/skins/default/xui/da/panel_edit_shirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_shoes.xml b/indra/newview/skins/default/xui/da/panel_edit_shoes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_skin.xml b/indra/newview/skins/default/xui/da/panel_edit_skin.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_skirt.xml b/indra/newview/skins/default/xui/da/panel_edit_skirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_socks.xml b/indra/newview/skins/default/xui/da/panel_edit_socks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/da/panel_edit_tattoo.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_underpants.xml b/indra/newview/skins/default/xui/da/panel_edit_underpants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/da/panel_edit_undershirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_edit_wearable.xml b/indra/newview/skins/default/xui/da/panel_edit_wearable.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_friends.xml b/indra/newview/skins/default/xui/da/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_group_control_panel.xml b/indra/newview/skins/default/xui/da/panel_group_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_group_general.xml b/indra/newview/skins/default/xui/da/panel_group_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/da/panel_group_info_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_group_invite.xml b/indra/newview/skins/default/xui/da/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_group_land_money.xml b/indra/newview/skins/default/xui/da/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_group_list_item.xml b/indra/newview/skins/default/xui/da/panel_group_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_group_notices.xml b/indra/newview/skins/default/xui/da/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_group_notify.xml b/indra/newview/skins/default/xui/da/panel_group_notify.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_group_roles.xml b/indra/newview/skins/default/xui/da/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_groups.xml b/indra/newview/skins/default/xui/da/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_im_control_panel.xml b/indra/newview/skins/default/xui/da/panel_im_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_inventory_item.xml b/indra/newview/skins/default/xui/da/panel_inventory_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_landmark_info.xml b/indra/newview/skins/default/xui/da/panel_landmark_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_landmarks.xml b/indra/newview/skins/default/xui/da/panel_landmarks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_login.xml b/indra/newview/skins/default/xui/da/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_main_inventory.xml b/indra/newview/skins/default/xui/da/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_me.xml b/indra/newview/skins/default/xui/da/panel_me.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_media_settings_general.xml b/indra/newview/skins/default/xui/da/panel_media_settings_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/da/panel_media_settings_permissions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_media_settings_security.xml b/indra/newview/skins/default/xui/da/panel_media_settings_security.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_my_profile.xml b/indra/newview/skins/default/xui/da/panel_my_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_navigation_bar.xml b/indra/newview/skins/default/xui/da/panel_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_nearby_chat.xml b/indra/newview/skins/default/xui/da/panel_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/da/panel_nearby_chat_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_nearby_media.xml b/indra/newview/skins/default/xui/da/panel_nearby_media.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_notes.xml b/indra/newview/skins/default/xui/da/panel_notes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_online_status.xml b/indra/newview/skins/default/xui/da/panel_online_status.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_online_status_toast.xml b/indra/newview/skins/default/xui/da/panel_online_status_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_outfit_edit.xml b/indra/newview/skins/default/xui/da/panel_outfit_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/da/panel_outfits_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_outfits_list.xml b/indra/newview/skins/default/xui/da/panel_outfits_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/da/panel_outfits_wearing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_people.xml b/indra/newview/skins/default/xui/da/panel_people.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_pick_info.xml b/indra/newview/skins/default/xui/da/panel_pick_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_picks.xml b/indra/newview/skins/default/xui/da/panel_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_place_profile.xml b/indra/newview/skins/default/xui/da/panel_place_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_places.xml b/indra/newview/skins/default/xui/da/panel_places.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/da/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/da/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_preferences_chat.xml b/indra/newview/skins/default/xui/da/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_preferences_general.xml b/indra/newview/skins/default/xui/da/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/da/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_preferences_setup.xml b/indra/newview/skins/default/xui/da/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_preferences_sound.xml b/indra/newview/skins/default/xui/da/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/da/panel_prim_media_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_profile.xml b/indra/newview/skins/default/xui/da/panel_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_profile_view.xml b/indra/newview/skins/default/xui/da/panel_profile_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_region_covenant.xml b/indra/newview/skins/default/xui/da/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_region_debug.xml b/indra/newview/skins/default/xui/da/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_region_estate.xml b/indra/newview/skins/default/xui/da/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_region_general.xml b/indra/newview/skins/default/xui/da/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_region_general_layout.xml b/indra/newview/skins/default/xui/da/panel_region_general_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_region_terrain.xml b/indra/newview/skins/default/xui/da/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_region_texture.xml b/indra/newview/skins/default/xui/da/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_script_ed.xml b/indra/newview/skins/default/xui/da/panel_script_ed.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/da/panel_script_limits_my_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/da/panel_script_limits_region_memory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_scrolling_param.xml b/indra/newview/skins/default/xui/da/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_side_tray.xml b/indra/newview/skins/default/xui/da/panel_side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/da/panel_side_tray_tab_caption.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/da/panel_stand_stop_flying.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_status_bar.xml b/indra/newview/skins/default/xui/da/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_teleport_history.xml b/indra/newview/skins/default/xui/da/panel_teleport_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/da/panel_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_voice_effect.xml b/indra/newview/skins/default/xui/da/panel_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/panel_world_map.xml b/indra/newview/skins/default/xui/da/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/role_actions.xml b/indra/newview/skins/default/xui/da/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/sidepanel_appearance.xml b/indra/newview/skins/default/xui/da/sidepanel_appearance.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/sidepanel_inventory.xml b/indra/newview/skins/default/xui/da/sidepanel_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/sidepanel_item_info.xml b/indra/newview/skins/default/xui/da/sidepanel_item_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/sidepanel_task_info.xml b/indra/newview/skins/default/xui/da/sidepanel_task_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/teleport_strings.xml b/indra/newview/skins/default/xui/da/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/da/xui_version.xml b/indra/newview/skins/default/xui/da/xui_version.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_about.xml b/indra/newview/skins/default/xui/de/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_activeim.xml b/indra/newview/skins/default/xui/de/floater_activeim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_animation_preview.xml b/indra/newview/skins/default/xui/de/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_auction.xml b/indra/newview/skins/default/xui/de/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_avatar_picker.xml b/indra/newview/skins/default/xui/de/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_avatar_textures.xml b/indra/newview/skins/default/xui/de/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_beacons.xml b/indra/newview/skins/default/xui/de/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_build_options.xml b/indra/newview/skins/default/xui/de/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_bulk_perms.xml b/indra/newview/skins/default/xui/de/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_bumps.xml b/indra/newview/skins/default/xui/de/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_buy_contents.xml b/indra/newview/skins/default/xui/de/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_buy_currency.xml b/indra/newview/skins/default/xui/de/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/de/floater_buy_currency_html.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_buy_land.xml b/indra/newview/skins/default/xui/de/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_buy_object.xml b/indra/newview/skins/default/xui/de/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_camera.xml b/indra/newview/skins/default/xui/de/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_choose_group.xml b/indra/newview/skins/default/xui/de/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_color_picker.xml b/indra/newview/skins/default/xui/de/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_critical.xml b/indra/newview/skins/default/xui/de/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_customize.xml b/indra/newview/skins/default/xui/de/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_device_settings.xml b/indra/newview/skins/default/xui/de/floater_device_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_env_settings.xml b/indra/newview/skins/default/xui/de/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_event.xml b/indra/newview/skins/default/xui/de/floater_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_first_time_tip.xml b/indra/newview/skins/default/xui/de/floater_first_time_tip.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_font_test.xml b/indra/newview/skins/default/xui/de/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_gesture.xml b/indra/newview/skins/default/xui/de/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_god_tools.xml b/indra/newview/skins/default/xui/de/floater_god_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_hardware_settings.xml b/indra/newview/skins/default/xui/de/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_help_browser.xml b/indra/newview/skins/default/xui/de/floater_help_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_hud.xml b/indra/newview/skins/default/xui/de/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_im.xml b/indra/newview/skins/default/xui/de/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_im_container.xml b/indra/newview/skins/default/xui/de/floater_im_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_im_session.xml b/indra/newview/skins/default/xui/de/floater_im_session.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_image_preview.xml b/indra/newview/skins/default/xui/de/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_incoming_call.xml b/indra/newview/skins/default/xui/de/floater_incoming_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_inspect.xml b/indra/newview/skins/default/xui/de/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_inventory.xml b/indra/newview/skins/default/xui/de/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_joystick.xml b/indra/newview/skins/default/xui/de/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_lagmeter.xml b/indra/newview/skins/default/xui/de/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_land_holdings.xml b/indra/newview/skins/default/xui/de/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/de/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_lsl_guide.xml b/indra/newview/skins/default/xui/de/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_map.xml b/indra/newview/skins/default/xui/de/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_media_browser.xml b/indra/newview/skins/default/xui/de/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_media_settings.xml b/indra/newview/skins/default/xui/de/floater_media_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_mem_leaking.xml b/indra/newview/skins/default/xui/de/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_moveview.xml b/indra/newview/skins/default/xui/de/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_mute_object.xml b/indra/newview/skins/default/xui/de/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_my_friends.xml b/indra/newview/skins/default/xui/de/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_nearby_chat.xml b/indra/newview/skins/default/xui/de/floater_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_notification.xml b/indra/newview/skins/default/xui/de/floater_notification.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_notifications_console.xml b/indra/newview/skins/default/xui/de/floater_notifications_console.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_openobject.xml b/indra/newview/skins/default/xui/de/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/de/floater_outfit_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_outgoing_call.xml b/indra/newview/skins/default/xui/de/floater_outgoing_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_pay.xml b/indra/newview/skins/default/xui/de/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_pay_object.xml b/indra/newview/skins/default/xui/de/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_perm_prefs.xml b/indra/newview/skins/default/xui/de/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_post_process.xml b/indra/newview/skins/default/xui/de/floater_post_process.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_postcard.xml b/indra/newview/skins/default/xui/de/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preferences.xml b/indra/newview/skins/default/xui/de/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_animation.xml b/indra/newview/skins/default/xui/de/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_classified.xml b/indra/newview/skins/default/xui/de/floater_preview_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_event.xml b/indra/newview/skins/default/xui/de/floater_preview_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_gesture.xml b/indra/newview/skins/default/xui/de/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/de/floater_preview_gesture_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/de/floater_preview_gesture_shortcut.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/de/floater_preview_gesture_steps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_notecard.xml b/indra/newview/skins/default/xui/de/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_sound.xml b/indra/newview/skins/default/xui/de/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_preview_texture.xml b/indra/newview/skins/default/xui/de/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_publish_classified.xml b/indra/newview/skins/default/xui/de/floater_publish_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_region_info.xml b/indra/newview/skins/default/xui/de/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_report_abuse.xml b/indra/newview/skins/default/xui/de/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_script_debug.xml b/indra/newview/skins/default/xui/de/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/de/floater_script_debug_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_script_limits.xml b/indra/newview/skins/default/xui/de/floater_script_limits.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_script_preview.xml b/indra/newview/skins/default/xui/de/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_script_queue.xml b/indra/newview/skins/default/xui/de/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_script_search.xml b/indra/newview/skins/default/xui/de/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_search.xml b/indra/newview/skins/default/xui/de/floater_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_select_key.xml b/indra/newview/skins/default/xui/de/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_sell_land.xml b/indra/newview/skins/default/xui/de/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_settings_debug.xml b/indra/newview/skins/default/xui/de/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_snapshot.xml b/indra/newview/skins/default/xui/de/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_sound_preview.xml b/indra/newview/skins/default/xui/de/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_statistics.xml b/indra/newview/skins/default/xui/de/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_stats.xml b/indra/newview/skins/default/xui/de/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_sys_well.xml b/indra/newview/skins/default/xui/de/floater_sys_well.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_telehub.xml b/indra/newview/skins/default/xui/de/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_top_objects.xml b/indra/newview/skins/default/xui/de/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_tos.xml b/indra/newview/skins/default/xui/de/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_url_entry.xml b/indra/newview/skins/default/xui/de/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_voice_controls.xml b/indra/newview/skins/default/xui/de/floater_voice_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_voice_effect.xml b/indra/newview/skins/default/xui/de/floater_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_water.xml b/indra/newview/skins/default/xui/de/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/de/floater_wearable_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/de/floater_whitelist_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_windlight_options.xml b/indra/newview/skins/default/xui/de/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_window_size.xml b/indra/newview/skins/default/xui/de/floater_window_size.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/floater_world_map.xml b/indra/newview/skins/default/xui/de/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/inspect_avatar.xml b/indra/newview/skins/default/xui/de/inspect_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/inspect_group.xml b/indra/newview/skins/default/xui/de/inspect_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/inspect_object.xml b/indra/newview/skins/default/xui/de/inspect_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/inspect_remote_object.xml b/indra/newview/skins/default/xui/de/inspect_remote_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/language_settings.xml b/indra/newview/skins/default/xui/de/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_attachment_other.xml b/indra/newview/skins/default/xui/de/menu_attachment_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_attachment_self.xml b/indra/newview/skins/default/xui/de/menu_attachment_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_avatar_icon.xml b/indra/newview/skins/default/xui/de/menu_avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_avatar_other.xml b/indra/newview/skins/default/xui/de/menu_avatar_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_avatar_self.xml b/indra/newview/skins/default/xui/de/menu_avatar_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_bottomtray.xml b/indra/newview/skins/default/xui/de/menu_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_cof_attachment.xml b/indra/newview/skins/default/xui/de/menu_cof_attachment.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_cof_body_part.xml b/indra/newview/skins/default/xui/de/menu_cof_body_part.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_cof_clothing.xml b/indra/newview/skins/default/xui/de/menu_cof_clothing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_cof_gear.xml b/indra/newview/skins/default/xui/de/menu_cof_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_edit.xml b/indra/newview/skins/default/xui/de/menu_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_favorites.xml b/indra/newview/skins/default/xui/de/menu_favorites.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_gesture_gear.xml b/indra/newview/skins/default/xui/de/menu_gesture_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_group_plus.xml b/indra/newview/skins/default/xui/de/menu_group_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_hide_navbar.xml b/indra/newview/skins/default/xui/de/menu_hide_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_im_well_button.xml b/indra/newview/skins/default/xui/de/menu_im_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/de/menu_imchiclet_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/de/menu_imchiclet_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/de/menu_imchiclet_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/de/menu_inspect_object_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/de/menu_inv_offer_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_inventory.xml b/indra/newview/skins/default/xui/de/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_inventory_add.xml b/indra/newview/skins/default/xui/de/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/de/menu_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_land.xml b/indra/newview/skins/default/xui/de/menu_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_landmark.xml b/indra/newview/skins/default/xui/de/menu_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_login.xml b/indra/newview/skins/default/xui/de/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_mini_map.xml b/indra/newview/skins/default/xui/de/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_navbar.xml b/indra/newview/skins/default/xui/de/menu_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_nearby_chat.xml b/indra/newview/skins/default/xui/de/menu_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_notification_well_button.xml b/indra/newview/skins/default/xui/de/menu_notification_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_object.xml b/indra/newview/skins/default/xui/de/menu_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_object_icon.xml b/indra/newview/skins/default/xui/de/menu_object_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_outfit_gear.xml b/indra/newview/skins/default/xui/de/menu_outfit_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_outfit_tab.xml b/indra/newview/skins/default/xui/de/menu_outfit_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_participant_list.xml b/indra/newview/skins/default/xui/de/menu_participant_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/de/menu_people_friends_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_people_groups.xml b/indra/newview/skins/default/xui/de/menu_people_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/de/menu_people_groups_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_people_nearby.xml b/indra/newview/skins/default/xui/de/menu_people_nearby.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/de/menu_people_nearby_multiselect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/de/menu_people_nearby_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/de/menu_people_recent_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_picks.xml b/indra/newview/skins/default/xui/de/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_picks_plus.xml b/indra/newview/skins/default/xui/de/menu_picks_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_place.xml b/indra/newview/skins/default/xui/de/menu_place.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_place_add_button.xml b/indra/newview/skins/default/xui/de/menu_place_add_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/de/menu_places_gear_folder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/de/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_profile_overflow.xml b/indra/newview/skins/default/xui/de/menu_profile_overflow.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_save_outfit.xml b/indra/newview/skins/default/xui/de/menu_save_outfit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_script_chiclet.xml b/indra/newview/skins/default/xui/de/menu_script_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_slurl.xml b/indra/newview/skins/default/xui/de/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/de/menu_teleport_history_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/de/menu_teleport_history_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_text_editor.xml b/indra/newview/skins/default/xui/de/menu_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_topinfobar.xml b/indra/newview/skins/default/xui/de/menu_topinfobar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_agent.xml b/indra/newview/skins/default/xui/de/menu_url_agent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_group.xml b/indra/newview/skins/default/xui/de/menu_url_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_http.xml b/indra/newview/skins/default/xui/de/menu_url_http.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_inventory.xml b/indra/newview/skins/default/xui/de/menu_url_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_map.xml b/indra/newview/skins/default/xui/de/menu_url_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_objectim.xml b/indra/newview/skins/default/xui/de/menu_url_objectim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_parcel.xml b/indra/newview/skins/default/xui/de/menu_url_parcel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_slapp.xml b/indra/newview/skins/default/xui/de/menu_url_slapp.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_slurl.xml b/indra/newview/skins/default/xui/de/menu_url_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_url_teleport.xml b/indra/newview/skins/default/xui/de/menu_url_teleport.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_wearing_gear.xml b/indra/newview/skins/default/xui/de/menu_wearing_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/menu_wearing_tab.xml b/indra/newview/skins/default/xui/de/menu_wearing_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/mime_types.xml b/indra/newview/skins/default/xui/de/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/mime_types_linux.xml b/indra/newview/skins/default/xui/de/mime_types_linux.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/mime_types_mac.xml b/indra/newview/skins/default/xui/de/mime_types_mac.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/de/outfit_accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_active_object_row.xml b/indra/newview/skins/default/xui/de/panel_active_object_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_activeim_row.xml b/indra/newview/skins/default/xui/de/panel_activeim_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/de/panel_adhoc_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_audio_device.xml b/indra/newview/skins/default/xui/de/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/de/panel_avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_avatar_tag.xml b/indra/newview/skins/default/xui/de/panel_avatar_tag.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/de/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/de/panel_body_parts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/de/panel_bodyparts_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_bottomtray.xml b/indra/newview/skins/default/xui/de/panel_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/de/panel_bottomtray_lite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_chat_header.xml b/indra/newview/skins/default/xui/de/panel_chat_header.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_classified_info.xml b/indra/newview/skins/default/xui/de/panel_classified_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/de/panel_clothing_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/de/panel_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_cof_wearables.xml b/indra/newview/skins/default/xui/de/panel_cof_wearables.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/de/panel_deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/de/panel_dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_alpha.xml b/indra/newview/skins/default/xui/de/panel_edit_alpha.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_classified.xml b/indra/newview/skins/default/xui/de/panel_edit_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_eyes.xml b/indra/newview/skins/default/xui/de/panel_edit_eyes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_gloves.xml b/indra/newview/skins/default/xui/de/panel_edit_gloves.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_hair.xml b/indra/newview/skins/default/xui/de/panel_edit_hair.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_jacket.xml b/indra/newview/skins/default/xui/de/panel_edit_jacket.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_pants.xml b/indra/newview/skins/default/xui/de/panel_edit_pants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_pick.xml b/indra/newview/skins/default/xui/de/panel_edit_pick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_profile.xml b/indra/newview/skins/default/xui/de/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_shape.xml b/indra/newview/skins/default/xui/de/panel_edit_shape.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_shirt.xml b/indra/newview/skins/default/xui/de/panel_edit_shirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_shoes.xml b/indra/newview/skins/default/xui/de/panel_edit_shoes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_skin.xml b/indra/newview/skins/default/xui/de/panel_edit_skin.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_skirt.xml b/indra/newview/skins/default/xui/de/panel_edit_skirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_socks.xml b/indra/newview/skins/default/xui/de/panel_edit_socks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/de/panel_edit_tattoo.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_underpants.xml b/indra/newview/skins/default/xui/de/panel_edit_underpants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/de/panel_edit_undershirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_edit_wearable.xml b/indra/newview/skins/default/xui/de/panel_edit_wearable.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_friends.xml b/indra/newview/skins/default/xui/de/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_group_control_panel.xml b/indra/newview/skins/default/xui/de/panel_group_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_group_general.xml b/indra/newview/skins/default/xui/de/panel_group_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_group_invite.xml b/indra/newview/skins/default/xui/de/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_group_land_money.xml b/indra/newview/skins/default/xui/de/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_group_list_item.xml b/indra/newview/skins/default/xui/de/panel_group_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_group_notices.xml b/indra/newview/skins/default/xui/de/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_group_notify.xml b/indra/newview/skins/default/xui/de/panel_group_notify.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_group_roles.xml b/indra/newview/skins/default/xui/de/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_groups.xml b/indra/newview/skins/default/xui/de/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_im_control_panel.xml b/indra/newview/skins/default/xui/de/panel_im_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_instant_message.xml b/indra/newview/skins/default/xui/de/panel_instant_message.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_inventory_item.xml b/indra/newview/skins/default/xui/de/panel_inventory_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_landmark_info.xml b/indra/newview/skins/default/xui/de/panel_landmark_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_landmarks.xml b/indra/newview/skins/default/xui/de/panel_landmarks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_login.xml b/indra/newview/skins/default/xui/de/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_main_inventory.xml b/indra/newview/skins/default/xui/de/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_me.xml b/indra/newview/skins/default/xui/de/panel_me.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_media_settings_general.xml b/indra/newview/skins/default/xui/de/panel_media_settings_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/de/panel_media_settings_permissions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_media_settings_security.xml b/indra/newview/skins/default/xui/de/panel_media_settings_security.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_my_profile.xml b/indra/newview/skins/default/xui/de/panel_my_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_navigation_bar.xml b/indra/newview/skins/default/xui/de/panel_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_nearby_chat.xml b/indra/newview/skins/default/xui/de/panel_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/de/panel_nearby_chat_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_nearby_media.xml b/indra/newview/skins/default/xui/de/panel_nearby_media.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_notes.xml b/indra/newview/skins/default/xui/de/panel_notes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_notifications_channel.xml b/indra/newview/skins/default/xui/de/panel_notifications_channel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_online_status.xml b/indra/newview/skins/default/xui/de/panel_online_status.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_online_status_toast.xml b/indra/newview/skins/default/xui/de/panel_online_status_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_outfit_edit.xml b/indra/newview/skins/default/xui/de/panel_outfit_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/de/panel_outfits_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_outfits_list.xml b/indra/newview/skins/default/xui/de/panel_outfits_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/de/panel_outfits_wearing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_people.xml b/indra/newview/skins/default/xui/de/panel_people.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_pick_info.xml b/indra/newview/skins/default/xui/de/panel_pick_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_picks.xml b/indra/newview/skins/default/xui/de/panel_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_place_profile.xml b/indra/newview/skins/default/xui/de/panel_place_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_places.xml b/indra/newview/skins/default/xui/de/panel_places.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/de/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_preferences_general.xml b/indra/newview/skins/default/xui/de/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/de/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_preferences_setup.xml b/indra/newview/skins/default/xui/de/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_preferences_sound.xml b/indra/newview/skins/default/xui/de/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/de/panel_prim_media_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_profile.xml b/indra/newview/skins/default/xui/de/panel_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_profile_view.xml b/indra/newview/skins/default/xui/de/panel_profile_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_region_covenant.xml b/indra/newview/skins/default/xui/de/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_region_debug.xml b/indra/newview/skins/default/xui/de/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_region_estate.xml b/indra/newview/skins/default/xui/de/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_region_general.xml b/indra/newview/skins/default/xui/de/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_region_general_layout.xml b/indra/newview/skins/default/xui/de/panel_region_general_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_region_terrain.xml b/indra/newview/skins/default/xui/de/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_region_texture.xml b/indra/newview/skins/default/xui/de/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_script_ed.xml b/indra/newview/skins/default/xui/de/panel_script_ed.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/de/panel_script_limits_my_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/de/panel_script_limits_region_memory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_scrolling_param.xml b/indra/newview/skins/default/xui/de/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_side_tray.xml b/indra/newview/skins/default/xui/de/panel_side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/de/panel_side_tray_tab_caption.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_sidetray_home_tab.xml b/indra/newview/skins/default/xui/de/panel_sidetray_home_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/de/panel_stand_stop_flying.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_status_bar.xml b/indra/newview/skins/default/xui/de/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_sys_well_item.xml b/indra/newview/skins/default/xui/de/panel_sys_well_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_teleport_history.xml b/indra/newview/skins/default/xui/de/panel_teleport_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/de/panel_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_voice_effect.xml b/indra/newview/skins/default/xui/de/panel_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/panel_world_map.xml b/indra/newview/skins/default/xui/de/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/role_actions.xml b/indra/newview/skins/default/xui/de/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/sidepanel_appearance.xml b/indra/newview/skins/default/xui/de/sidepanel_appearance.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/sidepanel_item_info.xml b/indra/newview/skins/default/xui/de/sidepanel_item_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/teleport_strings.xml b/indra/newview/skins/default/xui/de/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/de/xui_version.xml b/indra/newview/skins/default/xui/de/xui_version.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/accordion_drag.xml b/indra/newview/skins/default/xui/en/accordion_drag.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/accordion_parent.xml b/indra/newview/skins/default/xui/en/accordion_parent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/alert_button.xml b/indra/newview/skins/default/xui/en/alert_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/alert_check_box.xml b/indra/newview/skins/default/xui/en/alert_check_box.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/alert_icon.xml b/indra/newview/skins/default/xui/en/alert_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/alert_line_editor.xml b/indra/newview/skins/default/xui/en/alert_line_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/favorites_bar_button.xml b/indra/newview/skins/default/xui/en/favorites_bar_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_aaa.xml b/indra/newview/skins/default/xui/en/floater_aaa.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_activeim.xml b/indra/newview/skins/default/xui/en/floater_activeim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_animation_preview.xml b/indra/newview/skins/default/xui/en/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_auction.xml b/indra/newview/skins/default/xui/en/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_avatar_picker.xml b/indra/newview/skins/default/xui/en/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_avatar_textures.xml b/indra/newview/skins/default/xui/en/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_beacons.xml b/indra/newview/skins/default/xui/en/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_build_options.xml b/indra/newview/skins/default/xui/en/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_bulk_perms.xml b/indra/newview/skins/default/xui/en/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_bumps.xml b/indra/newview/skins/default/xui/en/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_buy_contents.xml b/indra/newview/skins/default/xui/en/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_buy_currency.xml b/indra/newview/skins/default/xui/en/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/en/floater_buy_currency_html.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_buy_land.xml b/indra/newview/skins/default/xui/en/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_buy_object.xml b/indra/newview/skins/default/xui/en/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_choose_group.xml b/indra/newview/skins/default/xui/en/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_color_picker.xml b/indra/newview/skins/default/xui/en/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_critical.xml b/indra/newview/skins/default/xui/en/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_customize.xml b/indra/newview/skins/default/xui/en/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/en/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_device_settings.xml b/indra/newview/skins/default/xui/en/floater_device_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_env_settings.xml b/indra/newview/skins/default/xui/en/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_event.xml b/indra/newview/skins/default/xui/en/floater_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_first_time_tip.xml b/indra/newview/skins/default/xui/en/floater_first_time_tip.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_font_test.xml b/indra/newview/skins/default/xui/en/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_gesture.xml b/indra/newview/skins/default/xui/en/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_god_tools.xml b/indra/newview/skins/default/xui/en/floater_god_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_help_browser.xml b/indra/newview/skins/default/xui/en/floater_help_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_hud.xml b/indra/newview/skins/default/xui/en/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_im.xml b/indra/newview/skins/default/xui/en/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_image_preview.xml b/indra/newview/skins/default/xui/en/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_import_collada.xml b/indra/newview/skins/default/xui/en/floater_import_collada.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_incoming_call.xml b/indra/newview/skins/default/xui/en/floater_incoming_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_inspect.xml b/indra/newview/skins/default/xui/en/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_inventory.xml b/indra/newview/skins/default/xui/en/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/en/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_joystick.xml b/indra/newview/skins/default/xui/en/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_lagmeter.xml b/indra/newview/skins/default/xui/en/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_land_holdings.xml b/indra/newview/skins/default/xui/en/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_lsl_guide.xml b/indra/newview/skins/default/xui/en/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_media_browser.xml b/indra/newview/skins/default/xui/en/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_media_settings.xml b/indra/newview/skins/default/xui/en/floater_media_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_mem_leaking.xml b/indra/newview/skins/default/xui/en/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_mute_object.xml b/indra/newview/skins/default/xui/en/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_my_friends.xml b/indra/newview/skins/default/xui/en/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_notification.xml b/indra/newview/skins/default/xui/en/floater_notification.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_notifications_console.xml b/indra/newview/skins/default/xui/en/floater_notifications_console.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_openobject.xml b/indra/newview/skins/default/xui/en/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/en/floater_outfit_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_outgoing_call.xml b/indra/newview/skins/default/xui/en/floater_outgoing_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_pay.xml b/indra/newview/skins/default/xui/en/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_pay_object.xml b/indra/newview/skins/default/xui/en/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_perm_prefs.xml b/indra/newview/skins/default/xui/en/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_post_process.xml b/indra/newview/skins/default/xui/en/floater_post_process.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_postcard.xml b/indra/newview/skins/default/xui/en/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_animation.xml b/indra/newview/skins/default/xui/en/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_classified.xml b/indra/newview/skins/default/xui/en/floater_preview_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_event.xml b/indra/newview/skins/default/xui/en/floater_preview_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_sound.xml b/indra/newview/skins/default/xui/en/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_preview_texture.xml b/indra/newview/skins/default/xui/en/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_price_for_listing.xml b/indra/newview/skins/default/xui/en/floater_price_for_listing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_publish_classified.xml b/indra/newview/skins/default/xui/en/floater_publish_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_region_info.xml b/indra/newview/skins/default/xui/en/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_report_abuse.xml b/indra/newview/skins/default/xui/en/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_script.xml b/indra/newview/skins/default/xui/en/floater_script.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_script_debug.xml b/indra/newview/skins/default/xui/en/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/en/floater_script_debug_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_script_limits.xml b/indra/newview/skins/default/xui/en/floater_script_limits.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_script_preview.xml b/indra/newview/skins/default/xui/en/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_script_queue.xml b/indra/newview/skins/default/xui/en/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_script_search.xml b/indra/newview/skins/default/xui/en/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_search.xml b/indra/newview/skins/default/xui/en/floater_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_select_key.xml b/indra/newview/skins/default/xui/en/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_sell_land.xml b/indra/newview/skins/default/xui/en/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_settings_debug.xml b/indra/newview/skins/default/xui/en/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_sound_preview.xml b/indra/newview/skins/default/xui/en/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_statistics.xml b/indra/newview/skins/default/xui/en/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_sys_well.xml b/indra/newview/skins/default/xui/en/floater_sys_well.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_telehub.xml b/indra/newview/skins/default/xui/en/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_button.xml b/indra/newview/skins/default/xui/en/floater_test_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_checkbox.xml b/indra/newview/skins/default/xui/en/floater_test_checkbox.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_combobox.xml b/indra/newview/skins/default/xui/en/floater_test_combobox.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_inspectors.xml b/indra/newview/skins/default/xui/en/floater_test_inspectors.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_layout.xml b/indra/newview/skins/default/xui/en/floater_test_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_line_editor.xml b/indra/newview/skins/default/xui/en/floater_test_line_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_list_view.xml b/indra/newview/skins/default/xui/en/floater_test_list_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_navigation_bar.xml b/indra/newview/skins/default/xui/en/floater_test_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_radiogroup.xml b/indra/newview/skins/default/xui/en/floater_test_radiogroup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_slider.xml b/indra/newview/skins/default/xui/en/floater_test_slider.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_spinner.xml b/indra/newview/skins/default/xui/en/floater_test_spinner.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_text_editor.xml b/indra/newview/skins/default/xui/en/floater_test_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_textbox.xml b/indra/newview/skins/default/xui/en/floater_test_textbox.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_test_widgets.xml b/indra/newview/skins/default/xui/en/floater_test_widgets.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_top_objects.xml b/indra/newview/skins/default/xui/en/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_tos.xml b/indra/newview/skins/default/xui/en/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_ui_preview.xml b/indra/newview/skins/default/xui/en/floater_ui_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_url_entry.xml b/indra/newview/skins/default/xui/en/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_voice_effect.xml b/indra/newview/skins/default/xui/en/floater_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_water.xml b/indra/newview/skins/default/xui/en/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/en/floater_wearable_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/en/floater_whitelist_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_windlight_options.xml b/indra/newview/skins/default/xui/en/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_window_size.xml b/indra/newview/skins/default/xui/en/floater_window_size.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/fonts.xml b/indra/newview/skins/default/xui/en/fonts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/inspect_avatar.xml b/indra/newview/skins/default/xui/en/inspect_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/inspect_group.xml b/indra/newview/skins/default/xui/en/inspect_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/inspect_object.xml b/indra/newview/skins/default/xui/en/inspect_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/inspect_remote_object.xml b/indra/newview/skins/default/xui/en/inspect_remote_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/inspect_toast.xml b/indra/newview/skins/default/xui/en/inspect_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/inspector_info_ctrl.xml b/indra/newview/skins/default/xui/en/inspector_info_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/language_settings.xml b/indra/newview/skins/default/xui/en/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_add_wearable_gear.xml b/indra/newview/skins/default/xui/en/menu_add_wearable_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_attachment_other.xml b/indra/newview/skins/default/xui/en/menu_attachment_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_attachment_self.xml b/indra/newview/skins/default/xui/en/menu_attachment_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_avatar_icon.xml b/indra/newview/skins/default/xui/en/menu_avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_avatar_other.xml b/indra/newview/skins/default/xui/en/menu_avatar_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_avatar_self.xml b/indra/newview/skins/default/xui/en/menu_avatar_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_bottomtray.xml b/indra/newview/skins/default/xui/en/menu_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_cof_attachment.xml b/indra/newview/skins/default/xui/en/menu_cof_attachment.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_cof_body_part.xml b/indra/newview/skins/default/xui/en/menu_cof_body_part.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_cof_clothing.xml b/indra/newview/skins/default/xui/en/menu_cof_clothing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_cof_gear.xml b/indra/newview/skins/default/xui/en/menu_cof_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_edit.xml b/indra/newview/skins/default/xui/en/menu_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_favorites.xml b/indra/newview/skins/default/xui/en/menu_favorites.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_gesture_gear.xml b/indra/newview/skins/default/xui/en/menu_gesture_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_group_plus.xml b/indra/newview/skins/default/xui/en/menu_group_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_hide_navbar.xml b/indra/newview/skins/default/xui/en/menu_hide_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_im_well_button.xml b/indra/newview/skins/default/xui/en/menu_im_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/en/menu_imchiclet_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/en/menu_imchiclet_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/en/menu_inv_offer_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_inventory_add.xml b/indra/newview/skins/default/xui/en/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_land.xml b/indra/newview/skins/default/xui/en/menu_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_landmark.xml b/indra/newview/skins/default/xui/en/menu_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_mini_map.xml b/indra/newview/skins/default/xui/en/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_navbar.xml b/indra/newview/skins/default/xui/en/menu_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_nearby_chat.xml b/indra/newview/skins/default/xui/en/menu_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_notification_well_button.xml b/indra/newview/skins/default/xui/en/menu_notification_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_object.xml b/indra/newview/skins/default/xui/en/menu_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_object_icon.xml b/indra/newview/skins/default/xui/en/menu_object_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_outfit_gear.xml b/indra/newview/skins/default/xui/en/menu_outfit_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_outfit_tab.xml b/indra/newview/skins/default/xui/en/menu_outfit_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_participant_list.xml b/indra/newview/skins/default/xui/en/menu_participant_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_friends_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_people_groups.xml b/indra/newview/skins/default/xui/en/menu_people_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_groups_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_people_nearby.xml b/indra/newview/skins/default/xui/en/menu_people_nearby.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/en/menu_people_nearby_multiselect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_nearby_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/en/menu_people_recent_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_picks.xml b/indra/newview/skins/default/xui/en/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_picks_plus.xml b/indra/newview/skins/default/xui/en/menu_picks_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_place.xml b/indra/newview/skins/default/xui/en/menu_place.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_place_add_button.xml b/indra/newview/skins/default/xui/en/menu_place_add_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/en/menu_places_gear_folder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/en/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_profile_overflow.xml b/indra/newview/skins/default/xui/en/menu_profile_overflow.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_save_outfit.xml b/indra/newview/skins/default/xui/en/menu_save_outfit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_script_chiclet.xml b/indra/newview/skins/default/xui/en/menu_script_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_slurl.xml b/indra/newview/skins/default/xui/en/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/en/menu_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/en/menu_teleport_history_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_text_editor.xml b/indra/newview/skins/default/xui/en/menu_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_topinfobar.xml b/indra/newview/skins/default/xui/en/menu_topinfobar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_agent.xml b/indra/newview/skins/default/xui/en/menu_url_agent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_group.xml b/indra/newview/skins/default/xui/en/menu_url_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_http.xml b/indra/newview/skins/default/xui/en/menu_url_http.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_inventory.xml b/indra/newview/skins/default/xui/en/menu_url_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_map.xml b/indra/newview/skins/default/xui/en/menu_url_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_objectim.xml b/indra/newview/skins/default/xui/en/menu_url_objectim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_parcel.xml b/indra/newview/skins/default/xui/en/menu_url_parcel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_slapp.xml b/indra/newview/skins/default/xui/en/menu_url_slapp.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_slurl.xml b/indra/newview/skins/default/xui/en/menu_url_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_url_teleport.xml b/indra/newview/skins/default/xui/en/menu_url_teleport.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_wearing_gear.xml b/indra/newview/skins/default/xui/en/menu_wearing_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/menu_wearing_tab.xml b/indra/newview/skins/default/xui/en/menu_wearing_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/mime_types.xml b/indra/newview/skins/default/xui/en/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/mime_types_linux.xml b/indra/newview/skins/default/xui/en/mime_types_linux.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/mime_types_mac.xml b/indra/newview/skins/default/xui/en/mime_types_mac.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_active_object_row.xml b/indra/newview/skins/default/xui/en/panel_active_object_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_activeim_row.xml b/indra/newview/skins/default/xui/en/panel_activeim_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_audio_device.xml b/indra/newview/skins/default/xui/en/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_avatar_tag.xml b/indra/newview/skins/default/xui/en/panel_avatar_tag.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/en/panel_bodyparts_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/en/panel_bottomtray_lite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_chat_header.xml b/indra/newview/skins/default/xui/en/panel_chat_header.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_chat_item.xml b/indra/newview/skins/default/xui/en/panel_chat_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_chat_separator.xml b/indra/newview/skins/default/xui/en/panel_chat_separator.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_classified_info.xml b/indra/newview/skins/default/xui/en/panel_classified_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_classifieds_list_item.xml b/indra/newview/skins/default/xui/en/panel_classifieds_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/en/panel_clothing_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/en/panel_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/en/panel_deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/en/panel_dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_alpha.xml b/indra/newview/skins/default/xui/en/panel_edit_alpha.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_classified.xml b/indra/newview/skins/default/xui/en/panel_edit_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_eyes.xml b/indra/newview/skins/default/xui/en/panel_edit_eyes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_gloves.xml b/indra/newview/skins/default/xui/en/panel_edit_gloves.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_hair.xml b/indra/newview/skins/default/xui/en/panel_edit_hair.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_jacket.xml b/indra/newview/skins/default/xui/en/panel_edit_jacket.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_pants.xml b/indra/newview/skins/default/xui/en/panel_edit_pants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_pick.xml b/indra/newview/skins/default/xui/en/panel_edit_pick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_profile.xml b/indra/newview/skins/default/xui/en/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_shape.xml b/indra/newview/skins/default/xui/en/panel_edit_shape.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_shirt.xml b/indra/newview/skins/default/xui/en/panel_edit_shirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_shoes.xml b/indra/newview/skins/default/xui/en/panel_edit_shoes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_skin.xml b/indra/newview/skins/default/xui/en/panel_edit_skin.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_skirt.xml b/indra/newview/skins/default/xui/en/panel_edit_skirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_socks.xml b/indra/newview/skins/default/xui/en/panel_edit_socks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/en/panel_edit_tattoo.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_underpants.xml b/indra/newview/skins/default/xui/en/panel_edit_underpants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_edit_wearable.xml b/indra/newview/skins/default/xui/en/panel_edit_wearable.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_friends.xml b/indra/newview/skins/default/xui/en/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_generic_tip.xml b/indra/newview/skins/default/xui/en/panel_generic_tip.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_group_invite.xml b/indra/newview/skins/default/xui/en/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_group_land_money.xml b/indra/newview/skins/default/xui/en/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_group_list_item.xml b/indra/newview/skins/default/xui/en/panel_group_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_group_notices.xml b/indra/newview/skins/default/xui/en/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_group_notify.xml b/indra/newview/skins/default/xui/en/panel_group_notify.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_group_roles.xml b/indra/newview/skins/default/xui/en/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_groups.xml b/indra/newview/skins/default/xui/en/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_hud.xml b/indra/newview/skins/default/xui/en/panel_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_im_control_panel.xml b/indra/newview/skins/default/xui/en/panel_im_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_instant_message.xml b/indra/newview/skins/default/xui/en/panel_instant_message.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_inventory_item.xml b/indra/newview/skins/default/xui/en/panel_inventory_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_landmark_info.xml b/indra/newview/skins/default/xui/en/panel_landmark_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_landmarks.xml b/indra/newview/skins/default/xui/en/panel_landmarks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_me.xml b/indra/newview/skins/default/xui/en/panel_me.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_media_settings_general.xml b/indra/newview/skins/default/xui/en/panel_media_settings_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/en/panel_media_settings_permissions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_media_settings_security.xml b/indra/newview/skins/default/xui/en/panel_media_settings_security.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_my_profile.xml b/indra/newview/skins/default/xui/en/panel_my_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_nearby_media.xml b/indra/newview/skins/default/xui/en/panel_nearby_media.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_notes.xml b/indra/newview/skins/default/xui/en/panel_notes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_notification.xml b/indra/newview/skins/default/xui/en/panel_notification.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_notifications_channel.xml b/indra/newview/skins/default/xui/en/panel_notifications_channel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_online_status.xml b/indra/newview/skins/default/xui/en/panel_online_status.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_online_status_toast.xml b/indra/newview/skins/default/xui/en/panel_online_status_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_outfits_list.xml b/indra/newview/skins/default/xui/en/panel_outfits_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/en/panel_outfits_wearing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_pick_info.xml b/indra/newview/skins/default/xui/en/panel_pick_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_pick_list_item.xml b/indra/newview/skins/default/xui/en/panel_pick_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_picks.xml b/indra/newview/skins/default/xui/en/panel_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_places.xml b/indra/newview/skins/default/xui/en/panel_places.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_profile_view.xml b/indra/newview/skins/default/xui/en/panel_profile_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_progress.xml b/indra/newview/skins/default/xui/en/panel_progress.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_region_covenant.xml b/indra/newview/skins/default/xui/en/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_region_debug.xml b/indra/newview/skins/default/xui/en/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_region_estate.xml b/indra/newview/skins/default/xui/en/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_region_general.xml b/indra/newview/skins/default/xui/en/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_region_general_layout.xml b/indra/newview/skins/default/xui/en/panel_region_general_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_region_terrain.xml b/indra/newview/skins/default/xui/en/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_region_texture.xml b/indra/newview/skins/default/xui/en/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_script_ed.xml b/indra/newview/skins/default/xui/en/panel_script_ed.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/en/panel_script_limits_my_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/en/panel_script_limits_region_memory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_scrolling_param.xml b/indra/newview/skins/default/xui/en/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_side_tray.xml b/indra/newview/skins/default/xui/en/panel_side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/en/panel_side_tray_tab_caption.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml b/indra/newview/skins/default/xui/en/panel_sidetray_home_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/en/panel_stand_stop_flying.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_sys_well_item.xml b/indra/newview/skins/default/xui/en/panel_sys_well_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_teleport_history.xml b/indra/newview/skins/default/xui/en/panel_teleport_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml b/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_voice_effect.xml b/indra/newview/skins/default/xui/en/panel_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/panel_world_map.xml b/indra/newview/skins/default/xui/en/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/role_actions.xml b/indra/newview/skins/default/xui/en/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/sidepanel_item_info.xml b/indra/newview/skins/default/xui/en/sidepanel_item_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/teleport_strings.xml b/indra/newview/skins/default/xui/en/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/accordion.xml b/indra/newview/skins/default/xui/en/widgets/accordion.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml b/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/avatar_icon.xml b/indra/newview/skins/default/xui/en/widgets/avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/avatar_list_item.xml b/indra/newview/skins/default/xui/en/widgets/avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/bodyparts_list_item.xml b/indra/newview/skins/default/xui/en/widgets/bodyparts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/button.xml b/indra/newview/skins/default/xui/en/widgets/button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/chat_history.xml b/indra/newview/skins/default/xui/en/widgets/chat_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/check_box.xml b/indra/newview/skins/default/xui/en/widgets/check_box.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_offer.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_offer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_panel.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_script.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_script.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/clothing_list_item.xml b/indra/newview/skins/default/xui/en/widgets/clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/color_swatch.xml b/indra/newview/skins/default/xui/en/widgets/color_swatch.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/combo_box.xml b/indra/newview/skins/default/xui/en/widgets/combo_box.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/context_menu.xml b/indra/newview/skins/default/xui/en/widgets/context_menu.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/en/widgets/deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/drop_down.xml b/indra/newview/skins/default/xui/en/widgets/drop_down.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/en/widgets/dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/expandable_text.xml b/indra/newview/skins/default/xui/en/widgets/expandable_text.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/flat_list_view.xml b/indra/newview/skins/default/xui/en/widgets/flat_list_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/floater.xml b/indra/newview/skins/default/xui/en/widgets/floater.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/flyout_button.xml b/indra/newview/skins/default/xui/en/widgets/flyout_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/folder_view_item.xml b/indra/newview/skins/default/xui/en/widgets/folder_view_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/gesture_combo_list.xml b/indra/newview/skins/default/xui/en/widgets/gesture_combo_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/group_icon.xml b/indra/newview/skins/default/xui/en/widgets/group_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/icon.xml b/indra/newview/skins/default/xui/en/widgets/icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/inspector.xml b/indra/newview/skins/default/xui/en/widgets/inspector.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml b/indra/newview/skins/default/xui/en/widgets/inventory_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/inventory_panel.xml b/indra/newview/skins/default/xui/en/widgets/inventory_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/line_editor.xml b/indra/newview/skins/default/xui/en/widgets/line_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/list_view.xml b/indra/newview/skins/default/xui/en/widgets/list_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/loading_indicator.xml b/indra/newview/skins/default/xui/en/widgets/loading_indicator.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/menu.xml b/indra/newview/skins/default/xui/en/widgets/menu.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/menu_item.xml b/indra/newview/skins/default/xui/en/widgets/menu_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/menu_item_call.xml b/indra/newview/skins/default/xui/en/widgets/menu_item_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/menu_item_check.xml b/indra/newview/skins/default/xui/en/widgets/menu_item_check.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/menu_item_separator.xml b/indra/newview/skins/default/xui/en/widgets/menu_item_separator.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/menu_item_tear_off.xml b/indra/newview/skins/default/xui/en/widgets/menu_item_tear_off.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/multi_slider.xml b/indra/newview/skins/default/xui/en/widgets/multi_slider.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/multi_slider_bar.xml b/indra/newview/skins/default/xui/en/widgets/multi_slider_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/name_editor.xml b/indra/newview/skins/default/xui/en/widgets/name_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/output_monitor.xml b/indra/newview/skins/default/xui/en/widgets/output_monitor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/panel.xml b/indra/newview/skins/default/xui/en/widgets/panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/panel_camera_item.xml b/indra/newview/skins/default/xui/en/widgets/panel_camera_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/progress_bar.xml b/indra/newview/skins/default/xui/en/widgets/progress_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/radio_group.xml b/indra/newview/skins/default/xui/en/widgets/radio_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/radio_item.xml b/indra/newview/skins/default/xui/en/widgets/radio_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/scroll_bar.xml b/indra/newview/skins/default/xui/en/widgets/scroll_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/scroll_column_header.xml b/indra/newview/skins/default/xui/en/widgets/scroll_column_header.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/scroll_container.xml b/indra/newview/skins/default/xui/en/widgets/scroll_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/scroll_list.xml b/indra/newview/skins/default/xui/en/widgets/scroll_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml b/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/search_editor.xml b/indra/newview/skins/default/xui/en/widgets/search_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/side_tray.xml b/indra/newview/skins/default/xui/en/widgets/side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/simple_text_editor.xml b/indra/newview/skins/default/xui/en/widgets/simple_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/slider.xml b/indra/newview/skins/default/xui/en/widgets/slider.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/slider_bar.xml b/indra/newview/skins/default/xui/en/widgets/slider_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/spinner.xml b/indra/newview/skins/default/xui/en/widgets/spinner.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/split_button.xml b/indra/newview/skins/default/xui/en/widgets/split_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/tab_container.xml b/indra/newview/skins/default/xui/en/widgets/tab_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/talk_button.xml b/indra/newview/skins/default/xui/en/widgets/talk_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/text.xml b/indra/newview/skins/default/xui/en/widgets/text.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/text_editor.xml b/indra/newview/skins/default/xui/en/widgets/text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/textbase.xml b/indra/newview/skins/default/xui/en/widgets/textbase.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/texture_picker.xml b/indra/newview/skins/default/xui/en/widgets/texture_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/toggleable_menu.xml b/indra/newview/skins/default/xui/en/widgets/toggleable_menu.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/tool_tip.xml b/indra/newview/skins/default/xui/en/widgets/tool_tip.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/ui_ctrl.xml b/indra/newview/skins/default/xui/en/widgets/ui_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/view_border.xml b/indra/newview/skins/default/xui/en/widgets/view_border.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/widgets/web_browser.xml b/indra/newview/skins/default/xui/en/widgets/web_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/en/xui_version.xml b/indra/newview/skins/default/xui/en/xui_version.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_about.xml b/indra/newview/skins/default/xui/es/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_about_land.xml b/indra/newview/skins/default/xui/es/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_activeim.xml b/indra/newview/skins/default/xui/es/floater_activeim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_animation_preview.xml b/indra/newview/skins/default/xui/es/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_auction.xml b/indra/newview/skins/default/xui/es/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_avatar_picker.xml b/indra/newview/skins/default/xui/es/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_avatar_textures.xml b/indra/newview/skins/default/xui/es/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_beacons.xml b/indra/newview/skins/default/xui/es/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_build_options.xml b/indra/newview/skins/default/xui/es/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_bulk_perms.xml b/indra/newview/skins/default/xui/es/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_bumps.xml b/indra/newview/skins/default/xui/es/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_buy_contents.xml b/indra/newview/skins/default/xui/es/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_buy_currency.xml b/indra/newview/skins/default/xui/es/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/es/floater_buy_currency_html.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_buy_land.xml b/indra/newview/skins/default/xui/es/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_buy_object.xml b/indra/newview/skins/default/xui/es/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_camera.xml b/indra/newview/skins/default/xui/es/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_choose_group.xml b/indra/newview/skins/default/xui/es/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_color_picker.xml b/indra/newview/skins/default/xui/es/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_critical.xml b/indra/newview/skins/default/xui/es/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_customize.xml b/indra/newview/skins/default/xui/es/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/es/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_device_settings.xml b/indra/newview/skins/default/xui/es/floater_device_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_env_settings.xml b/indra/newview/skins/default/xui/es/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_event.xml b/indra/newview/skins/default/xui/es/floater_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_font_test.xml b/indra/newview/skins/default/xui/es/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_gesture.xml b/indra/newview/skins/default/xui/es/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_god_tools.xml b/indra/newview/skins/default/xui/es/floater_god_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_hardware_settings.xml b/indra/newview/skins/default/xui/es/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_help_browser.xml b/indra/newview/skins/default/xui/es/floater_help_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_hud.xml b/indra/newview/skins/default/xui/es/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_im.xml b/indra/newview/skins/default/xui/es/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_im_container.xml b/indra/newview/skins/default/xui/es/floater_im_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_im_session.xml b/indra/newview/skins/default/xui/es/floater_im_session.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_image_preview.xml b/indra/newview/skins/default/xui/es/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_incoming_call.xml b/indra/newview/skins/default/xui/es/floater_incoming_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_inspect.xml b/indra/newview/skins/default/xui/es/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_inventory.xml b/indra/newview/skins/default/xui/es/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/es/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/es/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_joystick.xml b/indra/newview/skins/default/xui/es/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_lagmeter.xml b/indra/newview/skins/default/xui/es/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_land_holdings.xml b/indra/newview/skins/default/xui/es/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/es/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_lsl_guide.xml b/indra/newview/skins/default/xui/es/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_map.xml b/indra/newview/skins/default/xui/es/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_media_browser.xml b/indra/newview/skins/default/xui/es/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_media_settings.xml b/indra/newview/skins/default/xui/es/floater_media_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_mem_leaking.xml b/indra/newview/skins/default/xui/es/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_moveview.xml b/indra/newview/skins/default/xui/es/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_mute_object.xml b/indra/newview/skins/default/xui/es/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_my_friends.xml b/indra/newview/skins/default/xui/es/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_nearby_chat.xml b/indra/newview/skins/default/xui/es/floater_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_openobject.xml b/indra/newview/skins/default/xui/es/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/es/floater_outfit_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_outgoing_call.xml b/indra/newview/skins/default/xui/es/floater_outgoing_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_pay.xml b/indra/newview/skins/default/xui/es/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_pay_object.xml b/indra/newview/skins/default/xui/es/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_perm_prefs.xml b/indra/newview/skins/default/xui/es/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_post_process.xml b/indra/newview/skins/default/xui/es/floater_post_process.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_postcard.xml b/indra/newview/skins/default/xui/es/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preferences.xml b/indra/newview/skins/default/xui/es/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_animation.xml b/indra/newview/skins/default/xui/es/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_classified.xml b/indra/newview/skins/default/xui/es/floater_preview_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_event.xml b/indra/newview/skins/default/xui/es/floater_preview_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_gesture.xml b/indra/newview/skins/default/xui/es/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/es/floater_preview_gesture_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/es/floater_preview_gesture_shortcut.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/es/floater_preview_gesture_steps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_notecard.xml b/indra/newview/skins/default/xui/es/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_sound.xml b/indra/newview/skins/default/xui/es/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_preview_texture.xml b/indra/newview/skins/default/xui/es/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_publish_classified.xml b/indra/newview/skins/default/xui/es/floater_publish_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_region_info.xml b/indra/newview/skins/default/xui/es/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_report_abuse.xml b/indra/newview/skins/default/xui/es/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_script_debug.xml b/indra/newview/skins/default/xui/es/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/es/floater_script_debug_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_script_limits.xml b/indra/newview/skins/default/xui/es/floater_script_limits.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_script_preview.xml b/indra/newview/skins/default/xui/es/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_script_queue.xml b/indra/newview/skins/default/xui/es/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_script_search.xml b/indra/newview/skins/default/xui/es/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_search.xml b/indra/newview/skins/default/xui/es/floater_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_select_key.xml b/indra/newview/skins/default/xui/es/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_sell_land.xml b/indra/newview/skins/default/xui/es/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_settings_debug.xml b/indra/newview/skins/default/xui/es/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_snapshot.xml b/indra/newview/skins/default/xui/es/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_sound_preview.xml b/indra/newview/skins/default/xui/es/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_statistics.xml b/indra/newview/skins/default/xui/es/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_stats.xml b/indra/newview/skins/default/xui/es/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_sys_well.xml b/indra/newview/skins/default/xui/es/floater_sys_well.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_telehub.xml b/indra/newview/skins/default/xui/es/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/es/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_tools.xml b/indra/newview/skins/default/xui/es/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_top_objects.xml b/indra/newview/skins/default/xui/es/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_tos.xml b/indra/newview/skins/default/xui/es/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_url_entry.xml b/indra/newview/skins/default/xui/es/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_voice_controls.xml b/indra/newview/skins/default/xui/es/floater_voice_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_voice_effect.xml b/indra/newview/skins/default/xui/es/floater_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_water.xml b/indra/newview/skins/default/xui/es/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/es/floater_wearable_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/es/floater_whitelist_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_windlight_options.xml b/indra/newview/skins/default/xui/es/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_window_size.xml b/indra/newview/skins/default/xui/es/floater_window_size.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/floater_world_map.xml b/indra/newview/skins/default/xui/es/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/inspect_avatar.xml b/indra/newview/skins/default/xui/es/inspect_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/inspect_group.xml b/indra/newview/skins/default/xui/es/inspect_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/inspect_object.xml b/indra/newview/skins/default/xui/es/inspect_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/inspect_remote_object.xml b/indra/newview/skins/default/xui/es/inspect_remote_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/language_settings.xml b/indra/newview/skins/default/xui/es/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_attachment_other.xml b/indra/newview/skins/default/xui/es/menu_attachment_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_attachment_self.xml b/indra/newview/skins/default/xui/es/menu_attachment_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_avatar_icon.xml b/indra/newview/skins/default/xui/es/menu_avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_avatar_other.xml b/indra/newview/skins/default/xui/es/menu_avatar_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_avatar_self.xml b/indra/newview/skins/default/xui/es/menu_avatar_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_bottomtray.xml b/indra/newview/skins/default/xui/es/menu_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_cof_attachment.xml b/indra/newview/skins/default/xui/es/menu_cof_attachment.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_cof_body_part.xml b/indra/newview/skins/default/xui/es/menu_cof_body_part.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_cof_clothing.xml b/indra/newview/skins/default/xui/es/menu_cof_clothing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_cof_gear.xml b/indra/newview/skins/default/xui/es/menu_cof_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_edit.xml b/indra/newview/skins/default/xui/es/menu_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_favorites.xml b/indra/newview/skins/default/xui/es/menu_favorites.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_gesture_gear.xml b/indra/newview/skins/default/xui/es/menu_gesture_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_group_plus.xml b/indra/newview/skins/default/xui/es/menu_group_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_hide_navbar.xml b/indra/newview/skins/default/xui/es/menu_hide_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_im_well_button.xml b/indra/newview/skins/default/xui/es/menu_im_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/es/menu_imchiclet_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/es/menu_imchiclet_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/es/menu_imchiclet_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/es/menu_inspect_object_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/es/menu_inv_offer_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_inventory_add.xml b/indra/newview/skins/default/xui/es/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/es/menu_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_land.xml b/indra/newview/skins/default/xui/es/menu_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_landmark.xml b/indra/newview/skins/default/xui/es/menu_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_login.xml b/indra/newview/skins/default/xui/es/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_mini_map.xml b/indra/newview/skins/default/xui/es/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_navbar.xml b/indra/newview/skins/default/xui/es/menu_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_nearby_chat.xml b/indra/newview/skins/default/xui/es/menu_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_notification_well_button.xml b/indra/newview/skins/default/xui/es/menu_notification_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_object.xml b/indra/newview/skins/default/xui/es/menu_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_object_icon.xml b/indra/newview/skins/default/xui/es/menu_object_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_outfit_gear.xml b/indra/newview/skins/default/xui/es/menu_outfit_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_outfit_tab.xml b/indra/newview/skins/default/xui/es/menu_outfit_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_participant_list.xml b/indra/newview/skins/default/xui/es/menu_participant_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/es/menu_people_friends_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_people_groups.xml b/indra/newview/skins/default/xui/es/menu_people_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/es/menu_people_groups_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_people_nearby.xml b/indra/newview/skins/default/xui/es/menu_people_nearby.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/es/menu_people_nearby_multiselect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/es/menu_people_nearby_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/es/menu_people_recent_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_picks.xml b/indra/newview/skins/default/xui/es/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_picks_plus.xml b/indra/newview/skins/default/xui/es/menu_picks_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_place.xml b/indra/newview/skins/default/xui/es/menu_place.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_place_add_button.xml b/indra/newview/skins/default/xui/es/menu_place_add_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/es/menu_places_gear_folder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/es/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_profile_overflow.xml b/indra/newview/skins/default/xui/es/menu_profile_overflow.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_save_outfit.xml b/indra/newview/skins/default/xui/es/menu_save_outfit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_script_chiclet.xml b/indra/newview/skins/default/xui/es/menu_script_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_slurl.xml b/indra/newview/skins/default/xui/es/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/es/menu_teleport_history_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/es/menu_teleport_history_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_text_editor.xml b/indra/newview/skins/default/xui/es/menu_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_topinfobar.xml b/indra/newview/skins/default/xui/es/menu_topinfobar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_agent.xml b/indra/newview/skins/default/xui/es/menu_url_agent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_group.xml b/indra/newview/skins/default/xui/es/menu_url_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_http.xml b/indra/newview/skins/default/xui/es/menu_url_http.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_inventory.xml b/indra/newview/skins/default/xui/es/menu_url_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_map.xml b/indra/newview/skins/default/xui/es/menu_url_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_objectim.xml b/indra/newview/skins/default/xui/es/menu_url_objectim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_parcel.xml b/indra/newview/skins/default/xui/es/menu_url_parcel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_slapp.xml b/indra/newview/skins/default/xui/es/menu_url_slapp.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_slurl.xml b/indra/newview/skins/default/xui/es/menu_url_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_url_teleport.xml b/indra/newview/skins/default/xui/es/menu_url_teleport.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/es/menu_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_wearing_gear.xml b/indra/newview/skins/default/xui/es/menu_wearing_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/menu_wearing_tab.xml b/indra/newview/skins/default/xui/es/menu_wearing_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/mime_types.xml b/indra/newview/skins/default/xui/es/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/mime_types_linux.xml b/indra/newview/skins/default/xui/es/mime_types_linux.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/mime_types_mac.xml b/indra/newview/skins/default/xui/es/mime_types_mac.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/es/outfit_accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_active_object_row.xml b/indra/newview/skins/default/xui/es/panel_active_object_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_audio_device.xml b/indra/newview/skins/default/xui/es/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/es/panel_avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/es/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/es/panel_body_parts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/es/panel_bodyparts_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_bottomtray.xml b/indra/newview/skins/default/xui/es/panel_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/es/panel_bottomtray_lite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_classified_info.xml b/indra/newview/skins/default/xui/es/panel_classified_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/es/panel_clothing_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/es/panel_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_cof_wearables.xml b/indra/newview/skins/default/xui/es/panel_cof_wearables.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/es/panel_deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/es/panel_dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_alpha.xml b/indra/newview/skins/default/xui/es/panel_edit_alpha.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_classified.xml b/indra/newview/skins/default/xui/es/panel_edit_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_eyes.xml b/indra/newview/skins/default/xui/es/panel_edit_eyes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_gloves.xml b/indra/newview/skins/default/xui/es/panel_edit_gloves.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_hair.xml b/indra/newview/skins/default/xui/es/panel_edit_hair.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_jacket.xml b/indra/newview/skins/default/xui/es/panel_edit_jacket.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_pants.xml b/indra/newview/skins/default/xui/es/panel_edit_pants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_pick.xml b/indra/newview/skins/default/xui/es/panel_edit_pick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_profile.xml b/indra/newview/skins/default/xui/es/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_shape.xml b/indra/newview/skins/default/xui/es/panel_edit_shape.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_shirt.xml b/indra/newview/skins/default/xui/es/panel_edit_shirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_shoes.xml b/indra/newview/skins/default/xui/es/panel_edit_shoes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_skin.xml b/indra/newview/skins/default/xui/es/panel_edit_skin.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_skirt.xml b/indra/newview/skins/default/xui/es/panel_edit_skirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_socks.xml b/indra/newview/skins/default/xui/es/panel_edit_socks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/es/panel_edit_tattoo.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_underpants.xml b/indra/newview/skins/default/xui/es/panel_edit_underpants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/es/panel_edit_undershirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_edit_wearable.xml b/indra/newview/skins/default/xui/es/panel_edit_wearable.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_friends.xml b/indra/newview/skins/default/xui/es/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_group_control_panel.xml b/indra/newview/skins/default/xui/es/panel_group_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_group_general.xml b/indra/newview/skins/default/xui/es/panel_group_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_group_invite.xml b/indra/newview/skins/default/xui/es/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_group_land_money.xml b/indra/newview/skins/default/xui/es/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_group_list_item.xml b/indra/newview/skins/default/xui/es/panel_group_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_group_notices.xml b/indra/newview/skins/default/xui/es/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_group_notify.xml b/indra/newview/skins/default/xui/es/panel_group_notify.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_group_roles.xml b/indra/newview/skins/default/xui/es/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_groups.xml b/indra/newview/skins/default/xui/es/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_im_control_panel.xml b/indra/newview/skins/default/xui/es/panel_im_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_inventory_item.xml b/indra/newview/skins/default/xui/es/panel_inventory_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_landmark_info.xml b/indra/newview/skins/default/xui/es/panel_landmark_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_landmarks.xml b/indra/newview/skins/default/xui/es/panel_landmarks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_login.xml b/indra/newview/skins/default/xui/es/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_main_inventory.xml b/indra/newview/skins/default/xui/es/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_me.xml b/indra/newview/skins/default/xui/es/panel_me.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_media_settings_general.xml b/indra/newview/skins/default/xui/es/panel_media_settings_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/es/panel_media_settings_permissions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_media_settings_security.xml b/indra/newview/skins/default/xui/es/panel_media_settings_security.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_my_profile.xml b/indra/newview/skins/default/xui/es/panel_my_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_navigation_bar.xml b/indra/newview/skins/default/xui/es/panel_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_nearby_chat.xml b/indra/newview/skins/default/xui/es/panel_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/es/panel_nearby_chat_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_nearby_media.xml b/indra/newview/skins/default/xui/es/panel_nearby_media.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_notes.xml b/indra/newview/skins/default/xui/es/panel_notes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_online_status.xml b/indra/newview/skins/default/xui/es/panel_online_status.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_online_status_toast.xml b/indra/newview/skins/default/xui/es/panel_online_status_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_outfit_edit.xml b/indra/newview/skins/default/xui/es/panel_outfit_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/es/panel_outfits_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_outfits_list.xml b/indra/newview/skins/default/xui/es/panel_outfits_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/es/panel_outfits_wearing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_people.xml b/indra/newview/skins/default/xui/es/panel_people.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_pick_info.xml b/indra/newview/skins/default/xui/es/panel_pick_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_picks.xml b/indra/newview/skins/default/xui/es/panel_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_place_profile.xml b/indra/newview/skins/default/xui/es/panel_place_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_places.xml b/indra/newview/skins/default/xui/es/panel_places.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/es/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_preferences_chat.xml b/indra/newview/skins/default/xui/es/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_preferences_general.xml b/indra/newview/skins/default/xui/es/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/es/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_preferences_setup.xml b/indra/newview/skins/default/xui/es/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_preferences_sound.xml b/indra/newview/skins/default/xui/es/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/es/panel_prim_media_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_profile.xml b/indra/newview/skins/default/xui/es/panel_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_profile_view.xml b/indra/newview/skins/default/xui/es/panel_profile_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_region_covenant.xml b/indra/newview/skins/default/xui/es/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_region_debug.xml b/indra/newview/skins/default/xui/es/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_region_estate.xml b/indra/newview/skins/default/xui/es/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_region_general.xml b/indra/newview/skins/default/xui/es/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_region_general_layout.xml b/indra/newview/skins/default/xui/es/panel_region_general_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_region_terrain.xml b/indra/newview/skins/default/xui/es/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_region_texture.xml b/indra/newview/skins/default/xui/es/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_script_ed.xml b/indra/newview/skins/default/xui/es/panel_script_ed.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/es/panel_script_limits_my_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/es/panel_script_limits_region_memory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_scrolling_param.xml b/indra/newview/skins/default/xui/es/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_side_tray.xml b/indra/newview/skins/default/xui/es/panel_side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/es/panel_side_tray_tab_caption.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/es/panel_stand_stop_flying.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_status_bar.xml b/indra/newview/skins/default/xui/es/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_teleport_history.xml b/indra/newview/skins/default/xui/es/panel_teleport_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/es/panel_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_voice_effect.xml b/indra/newview/skins/default/xui/es/panel_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/panel_world_map.xml b/indra/newview/skins/default/xui/es/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/role_actions.xml b/indra/newview/skins/default/xui/es/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/sidepanel_appearance.xml b/indra/newview/skins/default/xui/es/sidepanel_appearance.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/sidepanel_item_info.xml b/indra/newview/skins/default/xui/es/sidepanel_item_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/sidepanel_task_info.xml b/indra/newview/skins/default/xui/es/sidepanel_task_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/teleport_strings.xml b/indra/newview/skins/default/xui/es/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/es/xui_version.xml b/indra/newview/skins/default/xui/es/xui_version.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_about.xml b/indra/newview/skins/default/xui/fr/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_about_land.xml b/indra/newview/skins/default/xui/fr/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_activeim.xml b/indra/newview/skins/default/xui/fr/floater_activeim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_animation_preview.xml b/indra/newview/skins/default/xui/fr/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_auction.xml b/indra/newview/skins/default/xui/fr/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_avatar_picker.xml b/indra/newview/skins/default/xui/fr/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_avatar_textures.xml b/indra/newview/skins/default/xui/fr/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_beacons.xml b/indra/newview/skins/default/xui/fr/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_build_options.xml b/indra/newview/skins/default/xui/fr/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml b/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_bumps.xml b/indra/newview/skins/default/xui/fr/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_buy_contents.xml b/indra/newview/skins/default/xui/fr/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_buy_currency.xml b/indra/newview/skins/default/xui/fr/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/fr/floater_buy_currency_html.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_buy_land.xml b/indra/newview/skins/default/xui/fr/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_buy_object.xml b/indra/newview/skins/default/xui/fr/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_camera.xml b/indra/newview/skins/default/xui/fr/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_choose_group.xml b/indra/newview/skins/default/xui/fr/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_color_picker.xml b/indra/newview/skins/default/xui/fr/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_critical.xml b/indra/newview/skins/default/xui/fr/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_customize.xml b/indra/newview/skins/default/xui/fr/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_device_settings.xml b/indra/newview/skins/default/xui/fr/floater_device_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_env_settings.xml b/indra/newview/skins/default/xui/fr/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_event.xml b/indra/newview/skins/default/xui/fr/floater_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_first_time_tip.xml b/indra/newview/skins/default/xui/fr/floater_first_time_tip.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_font_test.xml b/indra/newview/skins/default/xui/fr/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_gesture.xml b/indra/newview/skins/default/xui/fr/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_god_tools.xml b/indra/newview/skins/default/xui/fr/floater_god_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml b/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_help_browser.xml b/indra/newview/skins/default/xui/fr/floater_help_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_hud.xml b/indra/newview/skins/default/xui/fr/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_im.xml b/indra/newview/skins/default/xui/fr/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_im_container.xml b/indra/newview/skins/default/xui/fr/floater_im_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_im_session.xml b/indra/newview/skins/default/xui/fr/floater_im_session.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_image_preview.xml b/indra/newview/skins/default/xui/fr/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_incoming_call.xml b/indra/newview/skins/default/xui/fr/floater_incoming_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_inspect.xml b/indra/newview/skins/default/xui/fr/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_inventory.xml b/indra/newview/skins/default/xui/fr/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_joystick.xml b/indra/newview/skins/default/xui/fr/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_lagmeter.xml b/indra/newview/skins/default/xui/fr/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_land_holdings.xml b/indra/newview/skins/default/xui/fr/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/fr/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_lsl_guide.xml b/indra/newview/skins/default/xui/fr/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_map.xml b/indra/newview/skins/default/xui/fr/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_media_browser.xml b/indra/newview/skins/default/xui/fr/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_media_settings.xml b/indra/newview/skins/default/xui/fr/floater_media_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_mem_leaking.xml b/indra/newview/skins/default/xui/fr/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_moveview.xml b/indra/newview/skins/default/xui/fr/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_mute_object.xml b/indra/newview/skins/default/xui/fr/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_my_friends.xml b/indra/newview/skins/default/xui/fr/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_nearby_chat.xml b/indra/newview/skins/default/xui/fr/floater_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_notification.xml b/indra/newview/skins/default/xui/fr/floater_notification.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_notifications_console.xml b/indra/newview/skins/default/xui/fr/floater_notifications_console.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_openobject.xml b/indra/newview/skins/default/xui/fr/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/fr/floater_outfit_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_outgoing_call.xml b/indra/newview/skins/default/xui/fr/floater_outgoing_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_pay.xml b/indra/newview/skins/default/xui/fr/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_pay_object.xml b/indra/newview/skins/default/xui/fr/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_perm_prefs.xml b/indra/newview/skins/default/xui/fr/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_post_process.xml b/indra/newview/skins/default/xui/fr/floater_post_process.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_postcard.xml b/indra/newview/skins/default/xui/fr/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preferences.xml b/indra/newview/skins/default/xui/fr/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_animation.xml b/indra/newview/skins/default/xui/fr/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_classified.xml b/indra/newview/skins/default/xui/fr/floater_preview_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_event.xml b/indra/newview/skins/default/xui/fr/floater_preview_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/fr/floater_preview_gesture_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/fr/floater_preview_gesture_shortcut.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/fr/floater_preview_gesture_steps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_notecard.xml b/indra/newview/skins/default/xui/fr/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_sound.xml b/indra/newview/skins/default/xui/fr/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_texture.xml b/indra/newview/skins/default/xui/fr/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_publish_classified.xml b/indra/newview/skins/default/xui/fr/floater_publish_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_region_info.xml b/indra/newview/skins/default/xui/fr/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_report_abuse.xml b/indra/newview/skins/default/xui/fr/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_script_debug.xml b/indra/newview/skins/default/xui/fr/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/fr/floater_script_debug_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_script_limits.xml b/indra/newview/skins/default/xui/fr/floater_script_limits.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_script_preview.xml b/indra/newview/skins/default/xui/fr/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_script_queue.xml b/indra/newview/skins/default/xui/fr/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_script_search.xml b/indra/newview/skins/default/xui/fr/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_search.xml b/indra/newview/skins/default/xui/fr/floater_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_select_key.xml b/indra/newview/skins/default/xui/fr/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_sell_land.xml b/indra/newview/skins/default/xui/fr/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_settings_debug.xml b/indra/newview/skins/default/xui/fr/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_snapshot.xml b/indra/newview/skins/default/xui/fr/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_sound_preview.xml b/indra/newview/skins/default/xui/fr/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_statistics.xml b/indra/newview/skins/default/xui/fr/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_stats.xml b/indra/newview/skins/default/xui/fr/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_sys_well.xml b/indra/newview/skins/default/xui/fr/floater_sys_well.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_telehub.xml b/indra/newview/skins/default/xui/fr/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/fr/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_tools.xml b/indra/newview/skins/default/xui/fr/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_top_objects.xml b/indra/newview/skins/default/xui/fr/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_tos.xml b/indra/newview/skins/default/xui/fr/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_url_entry.xml b/indra/newview/skins/default/xui/fr/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_voice_controls.xml b/indra/newview/skins/default/xui/fr/floater_voice_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_voice_effect.xml b/indra/newview/skins/default/xui/fr/floater_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_water.xml b/indra/newview/skins/default/xui/fr/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/fr/floater_wearable_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/fr/floater_whitelist_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_windlight_options.xml b/indra/newview/skins/default/xui/fr/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_window_size.xml b/indra/newview/skins/default/xui/fr/floater_window_size.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/floater_world_map.xml b/indra/newview/skins/default/xui/fr/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/fonts.xml b/indra/newview/skins/default/xui/fr/fonts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/inspect_avatar.xml b/indra/newview/skins/default/xui/fr/inspect_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/inspect_group.xml b/indra/newview/skins/default/xui/fr/inspect_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/inspect_object.xml b/indra/newview/skins/default/xui/fr/inspect_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/inspect_remote_object.xml b/indra/newview/skins/default/xui/fr/inspect_remote_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/language_settings.xml b/indra/newview/skins/default/xui/fr/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_attachment_other.xml b/indra/newview/skins/default/xui/fr/menu_attachment_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_attachment_self.xml b/indra/newview/skins/default/xui/fr/menu_attachment_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml b/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_other.xml b/indra/newview/skins/default/xui/fr/menu_avatar_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_self.xml b/indra/newview/skins/default/xui/fr/menu_avatar_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_bottomtray.xml b/indra/newview/skins/default/xui/fr/menu_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_cof_attachment.xml b/indra/newview/skins/default/xui/fr/menu_cof_attachment.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_cof_body_part.xml b/indra/newview/skins/default/xui/fr/menu_cof_body_part.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_cof_clothing.xml b/indra/newview/skins/default/xui/fr/menu_cof_clothing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_cof_gear.xml b/indra/newview/skins/default/xui/fr/menu_cof_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_edit.xml b/indra/newview/skins/default/xui/fr/menu_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_favorites.xml b/indra/newview/skins/default/xui/fr/menu_favorites.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml b/indra/newview/skins/default/xui/fr/menu_gesture_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_group_plus.xml b/indra/newview/skins/default/xui/fr/menu_group_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_hide_navbar.xml b/indra/newview/skins/default/xui/fr/menu_hide_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_im_well_button.xml b/indra/newview/skins/default/xui/fr/menu_im_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/fr/menu_imchiclet_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/fr/menu_imchiclet_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/fr/menu_imchiclet_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/fr/menu_inspect_object_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/fr/menu_inv_offer_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_inventory.xml b/indra/newview/skins/default/xui/fr/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_inventory_add.xml b/indra/newview/skins/default/xui/fr/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/fr/menu_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_land.xml b/indra/newview/skins/default/xui/fr/menu_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_landmark.xml b/indra/newview/skins/default/xui/fr/menu_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_login.xml b/indra/newview/skins/default/xui/fr/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_mini_map.xml b/indra/newview/skins/default/xui/fr/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_navbar.xml b/indra/newview/skins/default/xui/fr/menu_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_nearby_chat.xml b/indra/newview/skins/default/xui/fr/menu_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_notification_well_button.xml b/indra/newview/skins/default/xui/fr/menu_notification_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_object.xml b/indra/newview/skins/default/xui/fr/menu_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_object_icon.xml b/indra/newview/skins/default/xui/fr/menu_object_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_outfit_gear.xml b/indra/newview/skins/default/xui/fr/menu_outfit_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_outfit_tab.xml b/indra/newview/skins/default/xui/fr/menu_outfit_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_participant_list.xml b/indra/newview/skins/default/xui/fr/menu_participant_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/fr/menu_people_friends_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_people_groups.xml b/indra/newview/skins/default/xui/fr/menu_people_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/fr/menu_people_groups_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_people_nearby.xml b/indra/newview/skins/default/xui/fr/menu_people_nearby.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/fr/menu_people_nearby_multiselect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/fr/menu_people_nearby_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/fr/menu_people_recent_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_picks.xml b/indra/newview/skins/default/xui/fr/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_picks_plus.xml b/indra/newview/skins/default/xui/fr/menu_picks_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_place.xml b/indra/newview/skins/default/xui/fr/menu_place.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_place_add_button.xml b/indra/newview/skins/default/xui/fr/menu_place_add_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/fr/menu_places_gear_folder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/fr/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_profile_overflow.xml b/indra/newview/skins/default/xui/fr/menu_profile_overflow.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_save_outfit.xml b/indra/newview/skins/default/xui/fr/menu_save_outfit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_script_chiclet.xml b/indra/newview/skins/default/xui/fr/menu_script_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_slurl.xml b/indra/newview/skins/default/xui/fr/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/fr/menu_teleport_history_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/fr/menu_teleport_history_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_text_editor.xml b/indra/newview/skins/default/xui/fr/menu_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_topinfobar.xml b/indra/newview/skins/default/xui/fr/menu_topinfobar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_agent.xml b/indra/newview/skins/default/xui/fr/menu_url_agent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_group.xml b/indra/newview/skins/default/xui/fr/menu_url_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_http.xml b/indra/newview/skins/default/xui/fr/menu_url_http.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_inventory.xml b/indra/newview/skins/default/xui/fr/menu_url_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_map.xml b/indra/newview/skins/default/xui/fr/menu_url_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_objectim.xml b/indra/newview/skins/default/xui/fr/menu_url_objectim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_parcel.xml b/indra/newview/skins/default/xui/fr/menu_url_parcel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_slapp.xml b/indra/newview/skins/default/xui/fr/menu_url_slapp.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_slurl.xml b/indra/newview/skins/default/xui/fr/menu_url_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_url_teleport.xml b/indra/newview/skins/default/xui/fr/menu_url_teleport.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_wearing_gear.xml b/indra/newview/skins/default/xui/fr/menu_wearing_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/menu_wearing_tab.xml b/indra/newview/skins/default/xui/fr/menu_wearing_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/mime_types.xml b/indra/newview/skins/default/xui/fr/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/mime_types_linux.xml b/indra/newview/skins/default/xui/fr/mime_types_linux.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/mime_types_mac.xml b/indra/newview/skins/default/xui/fr/mime_types_mac.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/fr/outfit_accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_active_object_row.xml b/indra/newview/skins/default/xui/fr/panel_active_object_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_activeim_row.xml b/indra/newview/skins/default/xui/fr/panel_activeim_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/fr/panel_adhoc_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_audio_device.xml b/indra/newview/skins/default/xui/fr/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/fr/panel_avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_avatar_tag.xml b/indra/newview/skins/default/xui/fr/panel_avatar_tag.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/fr/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/fr/panel_body_parts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/fr/panel_bodyparts_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_bottomtray.xml b/indra/newview/skins/default/xui/fr/panel_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/fr/panel_bottomtray_lite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_chat_header.xml b/indra/newview/skins/default/xui/fr/panel_chat_header.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_classified_info.xml b/indra/newview/skins/default/xui/fr/panel_classified_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/fr/panel_clothing_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/fr/panel_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_cof_wearables.xml b/indra/newview/skins/default/xui/fr/panel_cof_wearables.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/fr/panel_deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/fr/panel_dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_alpha.xml b/indra/newview/skins/default/xui/fr/panel_edit_alpha.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_classified.xml b/indra/newview/skins/default/xui/fr/panel_edit_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_eyes.xml b/indra/newview/skins/default/xui/fr/panel_edit_eyes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_gloves.xml b/indra/newview/skins/default/xui/fr/panel_edit_gloves.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_hair.xml b/indra/newview/skins/default/xui/fr/panel_edit_hair.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_jacket.xml b/indra/newview/skins/default/xui/fr/panel_edit_jacket.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_pants.xml b/indra/newview/skins/default/xui/fr/panel_edit_pants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_pick.xml b/indra/newview/skins/default/xui/fr/panel_edit_pick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_profile.xml b/indra/newview/skins/default/xui/fr/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_shape.xml b/indra/newview/skins/default/xui/fr/panel_edit_shape.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_shirt.xml b/indra/newview/skins/default/xui/fr/panel_edit_shirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_shoes.xml b/indra/newview/skins/default/xui/fr/panel_edit_shoes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_skin.xml b/indra/newview/skins/default/xui/fr/panel_edit_skin.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_skirt.xml b/indra/newview/skins/default/xui/fr/panel_edit_skirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_socks.xml b/indra/newview/skins/default/xui/fr/panel_edit_socks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/fr/panel_edit_tattoo.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_underpants.xml b/indra/newview/skins/default/xui/fr/panel_edit_underpants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/fr/panel_edit_undershirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml b/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_friends.xml b/indra/newview/skins/default/xui/fr/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_group_control_panel.xml b/indra/newview/skins/default/xui/fr/panel_group_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_group_general.xml b/indra/newview/skins/default/xui/fr/panel_group_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_group_invite.xml b/indra/newview/skins/default/xui/fr/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_group_land_money.xml b/indra/newview/skins/default/xui/fr/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_group_list_item.xml b/indra/newview/skins/default/xui/fr/panel_group_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_group_notices.xml b/indra/newview/skins/default/xui/fr/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_group_notify.xml b/indra/newview/skins/default/xui/fr/panel_group_notify.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_group_roles.xml b/indra/newview/skins/default/xui/fr/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_groups.xml b/indra/newview/skins/default/xui/fr/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml b/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_instant_message.xml b/indra/newview/skins/default/xui/fr/panel_instant_message.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_inventory_item.xml b/indra/newview/skins/default/xui/fr/panel_inventory_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_landmark_info.xml b/indra/newview/skins/default/xui/fr/panel_landmark_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_landmarks.xml b/indra/newview/skins/default/xui/fr/panel_landmarks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_login.xml b/indra/newview/skins/default/xui/fr/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_main_inventory.xml b/indra/newview/skins/default/xui/fr/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_me.xml b/indra/newview/skins/default/xui/fr/panel_me.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_media_settings_general.xml b/indra/newview/skins/default/xui/fr/panel_media_settings_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/fr/panel_media_settings_permissions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_media_settings_security.xml b/indra/newview/skins/default/xui/fr/panel_media_settings_security.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_my_profile.xml b/indra/newview/skins/default/xui/fr/panel_my_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_navigation_bar.xml b/indra/newview/skins/default/xui/fr/panel_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_chat.xml b/indra/newview/skins/default/xui/fr/panel_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/fr/panel_nearby_chat_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_notes.xml b/indra/newview/skins/default/xui/fr/panel_notes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_notifications_channel.xml b/indra/newview/skins/default/xui/fr/panel_notifications_channel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_online_status.xml b/indra/newview/skins/default/xui/fr/panel_online_status.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_online_status_toast.xml b/indra/newview/skins/default/xui/fr/panel_online_status_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml b/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/fr/panel_outfits_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_outfits_list.xml b/indra/newview/skins/default/xui/fr/panel_outfits_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/fr/panel_outfits_wearing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_people.xml b/indra/newview/skins/default/xui/fr/panel_people.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_pick_info.xml b/indra/newview/skins/default/xui/fr/panel_pick_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_picks.xml b/indra/newview/skins/default/xui/fr/panel_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_place_profile.xml b/indra/newview/skins/default/xui/fr/panel_place_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_places.xml b/indra/newview/skins/default/xui/fr/panel_places.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/fr/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_general.xml b/indra/newview/skins/default/xui/fr/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/fr/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_setup.xml b/indra/newview/skins/default/xui/fr/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml b/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/fr/panel_prim_media_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_profile.xml b/indra/newview/skins/default/xui/fr/panel_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_profile_view.xml b/indra/newview/skins/default/xui/fr/panel_profile_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_region_covenant.xml b/indra/newview/skins/default/xui/fr/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_region_debug.xml b/indra/newview/skins/default/xui/fr/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_region_estate.xml b/indra/newview/skins/default/xui/fr/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_region_general.xml b/indra/newview/skins/default/xui/fr/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_region_general_layout.xml b/indra/newview/skins/default/xui/fr/panel_region_general_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_region_terrain.xml b/indra/newview/skins/default/xui/fr/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_region_texture.xml b/indra/newview/skins/default/xui/fr/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_script_ed.xml b/indra/newview/skins/default/xui/fr/panel_script_ed.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/fr/panel_script_limits_my_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/fr/panel_script_limits_region_memory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_scrolling_param.xml b/indra/newview/skins/default/xui/fr/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_side_tray.xml b/indra/newview/skins/default/xui/fr/panel_side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/fr/panel_side_tray_tab_caption.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_sidetray_home_tab.xml b/indra/newview/skins/default/xui/fr/panel_sidetray_home_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/fr/panel_stand_stop_flying.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_status_bar.xml b/indra/newview/skins/default/xui/fr/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_sys_well_item.xml b/indra/newview/skins/default/xui/fr/panel_sys_well_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_teleport_history.xml b/indra/newview/skins/default/xui/fr/panel_teleport_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/fr/panel_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_voice_effect.xml b/indra/newview/skins/default/xui/fr/panel_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/panel_world_map.xml b/indra/newview/skins/default/xui/fr/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/role_actions.xml b/indra/newview/skins/default/xui/fr/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/sidepanel_appearance.xml b/indra/newview/skins/default/xui/fr/sidepanel_appearance.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/teleport_strings.xml b/indra/newview/skins/default/xui/fr/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/fr/xui_version.xml b/indra/newview/skins/default/xui/fr/xui_version.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_about.xml b/indra/newview/skins/default/xui/it/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_about_land.xml b/indra/newview/skins/default/xui/it/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_activeim.xml b/indra/newview/skins/default/xui/it/floater_activeim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_animation_preview.xml b/indra/newview/skins/default/xui/it/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_auction.xml b/indra/newview/skins/default/xui/it/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_avatar_picker.xml b/indra/newview/skins/default/xui/it/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_avatar_textures.xml b/indra/newview/skins/default/xui/it/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_beacons.xml b/indra/newview/skins/default/xui/it/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_build_options.xml b/indra/newview/skins/default/xui/it/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_bulk_perms.xml b/indra/newview/skins/default/xui/it/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_bumps.xml b/indra/newview/skins/default/xui/it/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_buy_contents.xml b/indra/newview/skins/default/xui/it/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_buy_currency.xml b/indra/newview/skins/default/xui/it/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/it/floater_buy_currency_html.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_buy_land.xml b/indra/newview/skins/default/xui/it/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_buy_object.xml b/indra/newview/skins/default/xui/it/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_camera.xml b/indra/newview/skins/default/xui/it/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_choose_group.xml b/indra/newview/skins/default/xui/it/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_color_picker.xml b/indra/newview/skins/default/xui/it/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_critical.xml b/indra/newview/skins/default/xui/it/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_customize.xml b/indra/newview/skins/default/xui/it/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/it/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_device_settings.xml b/indra/newview/skins/default/xui/it/floater_device_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_env_settings.xml b/indra/newview/skins/default/xui/it/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_event.xml b/indra/newview/skins/default/xui/it/floater_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_font_test.xml b/indra/newview/skins/default/xui/it/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_gesture.xml b/indra/newview/skins/default/xui/it/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_god_tools.xml b/indra/newview/skins/default/xui/it/floater_god_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_hardware_settings.xml b/indra/newview/skins/default/xui/it/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_help_browser.xml b/indra/newview/skins/default/xui/it/floater_help_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_hud.xml b/indra/newview/skins/default/xui/it/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_im.xml b/indra/newview/skins/default/xui/it/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_im_container.xml b/indra/newview/skins/default/xui/it/floater_im_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_im_session.xml b/indra/newview/skins/default/xui/it/floater_im_session.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_image_preview.xml b/indra/newview/skins/default/xui/it/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_incoming_call.xml b/indra/newview/skins/default/xui/it/floater_incoming_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_inspect.xml b/indra/newview/skins/default/xui/it/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_inventory.xml b/indra/newview/skins/default/xui/it/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/it/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/it/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_joystick.xml b/indra/newview/skins/default/xui/it/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_lagmeter.xml b/indra/newview/skins/default/xui/it/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_land_holdings.xml b/indra/newview/skins/default/xui/it/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/it/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_lsl_guide.xml b/indra/newview/skins/default/xui/it/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_map.xml b/indra/newview/skins/default/xui/it/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_media_browser.xml b/indra/newview/skins/default/xui/it/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_media_settings.xml b/indra/newview/skins/default/xui/it/floater_media_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_mem_leaking.xml b/indra/newview/skins/default/xui/it/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_moveview.xml b/indra/newview/skins/default/xui/it/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_mute_object.xml b/indra/newview/skins/default/xui/it/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_my_friends.xml b/indra/newview/skins/default/xui/it/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_nearby_chat.xml b/indra/newview/skins/default/xui/it/floater_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_openobject.xml b/indra/newview/skins/default/xui/it/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/it/floater_outfit_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_outgoing_call.xml b/indra/newview/skins/default/xui/it/floater_outgoing_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_pay.xml b/indra/newview/skins/default/xui/it/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_pay_object.xml b/indra/newview/skins/default/xui/it/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_perm_prefs.xml b/indra/newview/skins/default/xui/it/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_post_process.xml b/indra/newview/skins/default/xui/it/floater_post_process.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_postcard.xml b/indra/newview/skins/default/xui/it/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preferences.xml b/indra/newview/skins/default/xui/it/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_animation.xml b/indra/newview/skins/default/xui/it/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_classified.xml b/indra/newview/skins/default/xui/it/floater_preview_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_event.xml b/indra/newview/skins/default/xui/it/floater_preview_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_gesture.xml b/indra/newview/skins/default/xui/it/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/it/floater_preview_gesture_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/it/floater_preview_gesture_shortcut.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/it/floater_preview_gesture_steps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_notecard.xml b/indra/newview/skins/default/xui/it/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_sound.xml b/indra/newview/skins/default/xui/it/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_preview_texture.xml b/indra/newview/skins/default/xui/it/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_publish_classified.xml b/indra/newview/skins/default/xui/it/floater_publish_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_region_info.xml b/indra/newview/skins/default/xui/it/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_report_abuse.xml b/indra/newview/skins/default/xui/it/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_script_debug.xml b/indra/newview/skins/default/xui/it/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/it/floater_script_debug_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_script_limits.xml b/indra/newview/skins/default/xui/it/floater_script_limits.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_script_preview.xml b/indra/newview/skins/default/xui/it/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_script_queue.xml b/indra/newview/skins/default/xui/it/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_script_search.xml b/indra/newview/skins/default/xui/it/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_search.xml b/indra/newview/skins/default/xui/it/floater_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_select_key.xml b/indra/newview/skins/default/xui/it/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_sell_land.xml b/indra/newview/skins/default/xui/it/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_settings_debug.xml b/indra/newview/skins/default/xui/it/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_snapshot.xml b/indra/newview/skins/default/xui/it/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_sound_preview.xml b/indra/newview/skins/default/xui/it/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_statistics.xml b/indra/newview/skins/default/xui/it/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_stats.xml b/indra/newview/skins/default/xui/it/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_sys_well.xml b/indra/newview/skins/default/xui/it/floater_sys_well.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_telehub.xml b/indra/newview/skins/default/xui/it/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/it/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_tools.xml b/indra/newview/skins/default/xui/it/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_top_objects.xml b/indra/newview/skins/default/xui/it/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_tos.xml b/indra/newview/skins/default/xui/it/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_url_entry.xml b/indra/newview/skins/default/xui/it/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_voice_controls.xml b/indra/newview/skins/default/xui/it/floater_voice_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_voice_effect.xml b/indra/newview/skins/default/xui/it/floater_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_water.xml b/indra/newview/skins/default/xui/it/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/it/floater_wearable_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/it/floater_whitelist_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_windlight_options.xml b/indra/newview/skins/default/xui/it/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_window_size.xml b/indra/newview/skins/default/xui/it/floater_window_size.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/floater_world_map.xml b/indra/newview/skins/default/xui/it/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/inspect_avatar.xml b/indra/newview/skins/default/xui/it/inspect_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/inspect_group.xml b/indra/newview/skins/default/xui/it/inspect_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/inspect_object.xml b/indra/newview/skins/default/xui/it/inspect_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/inspect_remote_object.xml b/indra/newview/skins/default/xui/it/inspect_remote_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/language_settings.xml b/indra/newview/skins/default/xui/it/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_attachment_other.xml b/indra/newview/skins/default/xui/it/menu_attachment_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_attachment_self.xml b/indra/newview/skins/default/xui/it/menu_attachment_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_avatar_icon.xml b/indra/newview/skins/default/xui/it/menu_avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_avatar_other.xml b/indra/newview/skins/default/xui/it/menu_avatar_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_avatar_self.xml b/indra/newview/skins/default/xui/it/menu_avatar_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_bottomtray.xml b/indra/newview/skins/default/xui/it/menu_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_cof_attachment.xml b/indra/newview/skins/default/xui/it/menu_cof_attachment.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_cof_body_part.xml b/indra/newview/skins/default/xui/it/menu_cof_body_part.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_cof_clothing.xml b/indra/newview/skins/default/xui/it/menu_cof_clothing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_cof_gear.xml b/indra/newview/skins/default/xui/it/menu_cof_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_edit.xml b/indra/newview/skins/default/xui/it/menu_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_favorites.xml b/indra/newview/skins/default/xui/it/menu_favorites.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_gesture_gear.xml b/indra/newview/skins/default/xui/it/menu_gesture_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_group_plus.xml b/indra/newview/skins/default/xui/it/menu_group_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_hide_navbar.xml b/indra/newview/skins/default/xui/it/menu_hide_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_im_well_button.xml b/indra/newview/skins/default/xui/it/menu_im_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/it/menu_imchiclet_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/it/menu_imchiclet_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/it/menu_imchiclet_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/it/menu_inspect_object_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/it/menu_inv_offer_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_inventory.xml b/indra/newview/skins/default/xui/it/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_inventory_add.xml b/indra/newview/skins/default/xui/it/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/it/menu_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_land.xml b/indra/newview/skins/default/xui/it/menu_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_landmark.xml b/indra/newview/skins/default/xui/it/menu_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_login.xml b/indra/newview/skins/default/xui/it/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_mini_map.xml b/indra/newview/skins/default/xui/it/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_navbar.xml b/indra/newview/skins/default/xui/it/menu_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_nearby_chat.xml b/indra/newview/skins/default/xui/it/menu_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_notification_well_button.xml b/indra/newview/skins/default/xui/it/menu_notification_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_object.xml b/indra/newview/skins/default/xui/it/menu_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_object_icon.xml b/indra/newview/skins/default/xui/it/menu_object_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_outfit_gear.xml b/indra/newview/skins/default/xui/it/menu_outfit_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_outfit_tab.xml b/indra/newview/skins/default/xui/it/menu_outfit_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_participant_list.xml b/indra/newview/skins/default/xui/it/menu_participant_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/it/menu_people_friends_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_people_groups.xml b/indra/newview/skins/default/xui/it/menu_people_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/it/menu_people_groups_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_people_nearby.xml b/indra/newview/skins/default/xui/it/menu_people_nearby.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/it/menu_people_nearby_multiselect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/it/menu_people_nearby_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/it/menu_people_recent_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_picks.xml b/indra/newview/skins/default/xui/it/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_picks_plus.xml b/indra/newview/skins/default/xui/it/menu_picks_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_place.xml b/indra/newview/skins/default/xui/it/menu_place.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_place_add_button.xml b/indra/newview/skins/default/xui/it/menu_place_add_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/it/menu_places_gear_folder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/it/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_profile_overflow.xml b/indra/newview/skins/default/xui/it/menu_profile_overflow.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_save_outfit.xml b/indra/newview/skins/default/xui/it/menu_save_outfit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_script_chiclet.xml b/indra/newview/skins/default/xui/it/menu_script_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_slurl.xml b/indra/newview/skins/default/xui/it/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/it/menu_teleport_history_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/it/menu_teleport_history_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_text_editor.xml b/indra/newview/skins/default/xui/it/menu_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_topinfobar.xml b/indra/newview/skins/default/xui/it/menu_topinfobar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_agent.xml b/indra/newview/skins/default/xui/it/menu_url_agent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_group.xml b/indra/newview/skins/default/xui/it/menu_url_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_http.xml b/indra/newview/skins/default/xui/it/menu_url_http.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_inventory.xml b/indra/newview/skins/default/xui/it/menu_url_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_map.xml b/indra/newview/skins/default/xui/it/menu_url_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_objectim.xml b/indra/newview/skins/default/xui/it/menu_url_objectim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_parcel.xml b/indra/newview/skins/default/xui/it/menu_url_parcel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_slapp.xml b/indra/newview/skins/default/xui/it/menu_url_slapp.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_slurl.xml b/indra/newview/skins/default/xui/it/menu_url_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_url_teleport.xml b/indra/newview/skins/default/xui/it/menu_url_teleport.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/it/menu_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_wearing_gear.xml b/indra/newview/skins/default/xui/it/menu_wearing_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/menu_wearing_tab.xml b/indra/newview/skins/default/xui/it/menu_wearing_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/mime_types.xml b/indra/newview/skins/default/xui/it/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/mime_types_linux.xml b/indra/newview/skins/default/xui/it/mime_types_linux.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/mime_types_mac.xml b/indra/newview/skins/default/xui/it/mime_types_mac.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/it/outfit_accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_active_object_row.xml b/indra/newview/skins/default/xui/it/panel_active_object_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/it/panel_adhoc_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_audio_device.xml b/indra/newview/skins/default/xui/it/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/it/panel_avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/it/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/it/panel_body_parts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/it/panel_bodyparts_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_bottomtray.xml b/indra/newview/skins/default/xui/it/panel_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/it/panel_bottomtray_lite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_classified_info.xml b/indra/newview/skins/default/xui/it/panel_classified_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/it/panel_clothing_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/it/panel_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_cof_wearables.xml b/indra/newview/skins/default/xui/it/panel_cof_wearables.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/it/panel_deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/it/panel_dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_alpha.xml b/indra/newview/skins/default/xui/it/panel_edit_alpha.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_classified.xml b/indra/newview/skins/default/xui/it/panel_edit_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_eyes.xml b/indra/newview/skins/default/xui/it/panel_edit_eyes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_gloves.xml b/indra/newview/skins/default/xui/it/panel_edit_gloves.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_hair.xml b/indra/newview/skins/default/xui/it/panel_edit_hair.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_jacket.xml b/indra/newview/skins/default/xui/it/panel_edit_jacket.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_pants.xml b/indra/newview/skins/default/xui/it/panel_edit_pants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_pick.xml b/indra/newview/skins/default/xui/it/panel_edit_pick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_profile.xml b/indra/newview/skins/default/xui/it/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_shape.xml b/indra/newview/skins/default/xui/it/panel_edit_shape.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_shirt.xml b/indra/newview/skins/default/xui/it/panel_edit_shirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_shoes.xml b/indra/newview/skins/default/xui/it/panel_edit_shoes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_skin.xml b/indra/newview/skins/default/xui/it/panel_edit_skin.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_skirt.xml b/indra/newview/skins/default/xui/it/panel_edit_skirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_socks.xml b/indra/newview/skins/default/xui/it/panel_edit_socks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/it/panel_edit_tattoo.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_underpants.xml b/indra/newview/skins/default/xui/it/panel_edit_underpants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/it/panel_edit_undershirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_edit_wearable.xml b/indra/newview/skins/default/xui/it/panel_edit_wearable.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_friends.xml b/indra/newview/skins/default/xui/it/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_group_control_panel.xml b/indra/newview/skins/default/xui/it/panel_group_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_group_general.xml b/indra/newview/skins/default/xui/it/panel_group_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_group_invite.xml b/indra/newview/skins/default/xui/it/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_group_land_money.xml b/indra/newview/skins/default/xui/it/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_group_list_item.xml b/indra/newview/skins/default/xui/it/panel_group_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_group_notices.xml b/indra/newview/skins/default/xui/it/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_group_notify.xml b/indra/newview/skins/default/xui/it/panel_group_notify.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_group_roles.xml b/indra/newview/skins/default/xui/it/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_groups.xml b/indra/newview/skins/default/xui/it/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_im_control_panel.xml b/indra/newview/skins/default/xui/it/panel_im_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_inventory_item.xml b/indra/newview/skins/default/xui/it/panel_inventory_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_landmark_info.xml b/indra/newview/skins/default/xui/it/panel_landmark_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_landmarks.xml b/indra/newview/skins/default/xui/it/panel_landmarks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_login.xml b/indra/newview/skins/default/xui/it/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_main_inventory.xml b/indra/newview/skins/default/xui/it/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_me.xml b/indra/newview/skins/default/xui/it/panel_me.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_media_settings_general.xml b/indra/newview/skins/default/xui/it/panel_media_settings_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/it/panel_media_settings_permissions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_media_settings_security.xml b/indra/newview/skins/default/xui/it/panel_media_settings_security.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_my_profile.xml b/indra/newview/skins/default/xui/it/panel_my_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_navigation_bar.xml b/indra/newview/skins/default/xui/it/panel_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_nearby_chat.xml b/indra/newview/skins/default/xui/it/panel_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/it/panel_nearby_chat_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_nearby_media.xml b/indra/newview/skins/default/xui/it/panel_nearby_media.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_notes.xml b/indra/newview/skins/default/xui/it/panel_notes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_online_status.xml b/indra/newview/skins/default/xui/it/panel_online_status.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_online_status_toast.xml b/indra/newview/skins/default/xui/it/panel_online_status_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_outfit_edit.xml b/indra/newview/skins/default/xui/it/panel_outfit_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/it/panel_outfits_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_outfits_list.xml b/indra/newview/skins/default/xui/it/panel_outfits_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/it/panel_outfits_wearing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_people.xml b/indra/newview/skins/default/xui/it/panel_people.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_pick_info.xml b/indra/newview/skins/default/xui/it/panel_pick_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_picks.xml b/indra/newview/skins/default/xui/it/panel_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_place_profile.xml b/indra/newview/skins/default/xui/it/panel_place_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_places.xml b/indra/newview/skins/default/xui/it/panel_places.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/it/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_preferences_chat.xml b/indra/newview/skins/default/xui/it/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_preferences_general.xml b/indra/newview/skins/default/xui/it/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/it/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/it/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_preferences_setup.xml b/indra/newview/skins/default/xui/it/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_preferences_sound.xml b/indra/newview/skins/default/xui/it/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/it/panel_prim_media_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_profile.xml b/indra/newview/skins/default/xui/it/panel_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_profile_view.xml b/indra/newview/skins/default/xui/it/panel_profile_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_region_covenant.xml b/indra/newview/skins/default/xui/it/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_region_debug.xml b/indra/newview/skins/default/xui/it/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_region_estate.xml b/indra/newview/skins/default/xui/it/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_region_general.xml b/indra/newview/skins/default/xui/it/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_region_general_layout.xml b/indra/newview/skins/default/xui/it/panel_region_general_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_region_terrain.xml b/indra/newview/skins/default/xui/it/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_region_texture.xml b/indra/newview/skins/default/xui/it/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_script_ed.xml b/indra/newview/skins/default/xui/it/panel_script_ed.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/it/panel_script_limits_my_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/it/panel_script_limits_region_memory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_scrolling_param.xml b/indra/newview/skins/default/xui/it/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_side_tray.xml b/indra/newview/skins/default/xui/it/panel_side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/it/panel_side_tray_tab_caption.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/it/panel_stand_stop_flying.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_status_bar.xml b/indra/newview/skins/default/xui/it/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_teleport_history.xml b/indra/newview/skins/default/xui/it/panel_teleport_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/it/panel_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_voice_effect.xml b/indra/newview/skins/default/xui/it/panel_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/panel_world_map.xml b/indra/newview/skins/default/xui/it/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/role_actions.xml b/indra/newview/skins/default/xui/it/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/sidepanel_appearance.xml b/indra/newview/skins/default/xui/it/sidepanel_appearance.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/sidepanel_item_info.xml b/indra/newview/skins/default/xui/it/sidepanel_item_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/sidepanel_task_info.xml b/indra/newview/skins/default/xui/it/sidepanel_task_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/it/teleport_strings.xml b/indra/newview/skins/default/xui/it/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_about.xml b/indra/newview/skins/default/xui/ja/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_about_land.xml b/indra/newview/skins/default/xui/ja/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_activeim.xml b/indra/newview/skins/default/xui/ja/floater_activeim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_animation_preview.xml b/indra/newview/skins/default/xui/ja/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_auction.xml b/indra/newview/skins/default/xui/ja/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_avatar_picker.xml b/indra/newview/skins/default/xui/ja/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_avatar_textures.xml b/indra/newview/skins/default/xui/ja/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_beacons.xml b/indra/newview/skins/default/xui/ja/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_build_options.xml b/indra/newview/skins/default/xui/ja/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_bulk_perms.xml b/indra/newview/skins/default/xui/ja/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_bumps.xml b/indra/newview/skins/default/xui/ja/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_buy_contents.xml b/indra/newview/skins/default/xui/ja/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_buy_currency.xml b/indra/newview/skins/default/xui/ja/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/ja/floater_buy_currency_html.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_buy_land.xml b/indra/newview/skins/default/xui/ja/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_buy_object.xml b/indra/newview/skins/default/xui/ja/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_camera.xml b/indra/newview/skins/default/xui/ja/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_choose_group.xml b/indra/newview/skins/default/xui/ja/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_color_picker.xml b/indra/newview/skins/default/xui/ja/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_critical.xml b/indra/newview/skins/default/xui/ja/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_customize.xml b/indra/newview/skins/default/xui/ja/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_device_settings.xml b/indra/newview/skins/default/xui/ja/floater_device_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_env_settings.xml b/indra/newview/skins/default/xui/ja/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_event.xml b/indra/newview/skins/default/xui/ja/floater_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_first_time_tip.xml b/indra/newview/skins/default/xui/ja/floater_first_time_tip.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_font_test.xml b/indra/newview/skins/default/xui/ja/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_gesture.xml b/indra/newview/skins/default/xui/ja/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_god_tools.xml b/indra/newview/skins/default/xui/ja/floater_god_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml b/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_help_browser.xml b/indra/newview/skins/default/xui/ja/floater_help_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_hud.xml b/indra/newview/skins/default/xui/ja/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_im.xml b/indra/newview/skins/default/xui/ja/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_im_container.xml b/indra/newview/skins/default/xui/ja/floater_im_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_im_session.xml b/indra/newview/skins/default/xui/ja/floater_im_session.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_image_preview.xml b/indra/newview/skins/default/xui/ja/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_incoming_call.xml b/indra/newview/skins/default/xui/ja/floater_incoming_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_inspect.xml b/indra/newview/skins/default/xui/ja/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_inventory.xml b/indra/newview/skins/default/xui/ja/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/ja/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_joystick.xml b/indra/newview/skins/default/xui/ja/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_lagmeter.xml b/indra/newview/skins/default/xui/ja/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_land_holdings.xml b/indra/newview/skins/default/xui/ja/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/ja/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_lsl_guide.xml b/indra/newview/skins/default/xui/ja/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_map.xml b/indra/newview/skins/default/xui/ja/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_media_browser.xml b/indra/newview/skins/default/xui/ja/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_media_settings.xml b/indra/newview/skins/default/xui/ja/floater_media_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_mem_leaking.xml b/indra/newview/skins/default/xui/ja/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_moveview.xml b/indra/newview/skins/default/xui/ja/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_mute_object.xml b/indra/newview/skins/default/xui/ja/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_my_friends.xml b/indra/newview/skins/default/xui/ja/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_nearby_chat.xml b/indra/newview/skins/default/xui/ja/floater_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_notification.xml b/indra/newview/skins/default/xui/ja/floater_notification.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_notifications_console.xml b/indra/newview/skins/default/xui/ja/floater_notifications_console.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_openobject.xml b/indra/newview/skins/default/xui/ja/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/ja/floater_outfit_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_outgoing_call.xml b/indra/newview/skins/default/xui/ja/floater_outgoing_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_pay.xml b/indra/newview/skins/default/xui/ja/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_pay_object.xml b/indra/newview/skins/default/xui/ja/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_perm_prefs.xml b/indra/newview/skins/default/xui/ja/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_post_process.xml b/indra/newview/skins/default/xui/ja/floater_post_process.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_postcard.xml b/indra/newview/skins/default/xui/ja/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preferences.xml b/indra/newview/skins/default/xui/ja/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_animation.xml b/indra/newview/skins/default/xui/ja/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_classified.xml b/indra/newview/skins/default/xui/ja/floater_preview_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_event.xml b/indra/newview/skins/default/xui/ja/floater_preview_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml b/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/ja/floater_preview_gesture_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/ja/floater_preview_gesture_shortcut.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/ja/floater_preview_gesture_steps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_notecard.xml b/indra/newview/skins/default/xui/ja/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_sound.xml b/indra/newview/skins/default/xui/ja/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_preview_texture.xml b/indra/newview/skins/default/xui/ja/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_publish_classified.xml b/indra/newview/skins/default/xui/ja/floater_publish_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_region_info.xml b/indra/newview/skins/default/xui/ja/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_report_abuse.xml b/indra/newview/skins/default/xui/ja/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_script_debug.xml b/indra/newview/skins/default/xui/ja/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/ja/floater_script_debug_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_script_limits.xml b/indra/newview/skins/default/xui/ja/floater_script_limits.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_script_preview.xml b/indra/newview/skins/default/xui/ja/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_script_queue.xml b/indra/newview/skins/default/xui/ja/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_script_search.xml b/indra/newview/skins/default/xui/ja/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_search.xml b/indra/newview/skins/default/xui/ja/floater_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_select_key.xml b/indra/newview/skins/default/xui/ja/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_sell_land.xml b/indra/newview/skins/default/xui/ja/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_settings_debug.xml b/indra/newview/skins/default/xui/ja/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_snapshot.xml b/indra/newview/skins/default/xui/ja/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_sound_preview.xml b/indra/newview/skins/default/xui/ja/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_statistics.xml b/indra/newview/skins/default/xui/ja/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_stats.xml b/indra/newview/skins/default/xui/ja/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_sys_well.xml b/indra/newview/skins/default/xui/ja/floater_sys_well.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_telehub.xml b/indra/newview/skins/default/xui/ja/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/ja/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_tools.xml b/indra/newview/skins/default/xui/ja/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_top_objects.xml b/indra/newview/skins/default/xui/ja/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_tos.xml b/indra/newview/skins/default/xui/ja/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_url_entry.xml b/indra/newview/skins/default/xui/ja/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_voice_controls.xml b/indra/newview/skins/default/xui/ja/floater_voice_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_voice_effect.xml b/indra/newview/skins/default/xui/ja/floater_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_water.xml b/indra/newview/skins/default/xui/ja/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/ja/floater_wearable_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/ja/floater_whitelist_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_windlight_options.xml b/indra/newview/skins/default/xui/ja/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_window_size.xml b/indra/newview/skins/default/xui/ja/floater_window_size.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/floater_world_map.xml b/indra/newview/skins/default/xui/ja/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/inspect_avatar.xml b/indra/newview/skins/default/xui/ja/inspect_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/inspect_group.xml b/indra/newview/skins/default/xui/ja/inspect_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/inspect_object.xml b/indra/newview/skins/default/xui/ja/inspect_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/inspect_remote_object.xml b/indra/newview/skins/default/xui/ja/inspect_remote_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/language_settings.xml b/indra/newview/skins/default/xui/ja/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_attachment_other.xml b/indra/newview/skins/default/xui/ja/menu_attachment_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_attachment_self.xml b/indra/newview/skins/default/xui/ja/menu_attachment_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml b/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_avatar_other.xml b/indra/newview/skins/default/xui/ja/menu_avatar_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_avatar_self.xml b/indra/newview/skins/default/xui/ja/menu_avatar_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_bottomtray.xml b/indra/newview/skins/default/xui/ja/menu_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_cof_attachment.xml b/indra/newview/skins/default/xui/ja/menu_cof_attachment.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_cof_body_part.xml b/indra/newview/skins/default/xui/ja/menu_cof_body_part.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_cof_clothing.xml b/indra/newview/skins/default/xui/ja/menu_cof_clothing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_cof_gear.xml b/indra/newview/skins/default/xui/ja/menu_cof_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_edit.xml b/indra/newview/skins/default/xui/ja/menu_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_favorites.xml b/indra/newview/skins/default/xui/ja/menu_favorites.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_gesture_gear.xml b/indra/newview/skins/default/xui/ja/menu_gesture_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_group_plus.xml b/indra/newview/skins/default/xui/ja/menu_group_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_hide_navbar.xml b/indra/newview/skins/default/xui/ja/menu_hide_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_im_well_button.xml b/indra/newview/skins/default/xui/ja/menu_im_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/ja/menu_imchiclet_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/ja/menu_imchiclet_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/ja/menu_imchiclet_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/ja/menu_inspect_object_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/ja/menu_inv_offer_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_inventory_add.xml b/indra/newview/skins/default/xui/ja/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/ja/menu_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_land.xml b/indra/newview/skins/default/xui/ja/menu_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_landmark.xml b/indra/newview/skins/default/xui/ja/menu_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_login.xml b/indra/newview/skins/default/xui/ja/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_mini_map.xml b/indra/newview/skins/default/xui/ja/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_navbar.xml b/indra/newview/skins/default/xui/ja/menu_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_nearby_chat.xml b/indra/newview/skins/default/xui/ja/menu_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_notification_well_button.xml b/indra/newview/skins/default/xui/ja/menu_notification_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_object.xml b/indra/newview/skins/default/xui/ja/menu_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_object_icon.xml b/indra/newview/skins/default/xui/ja/menu_object_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_outfit_gear.xml b/indra/newview/skins/default/xui/ja/menu_outfit_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_outfit_tab.xml b/indra/newview/skins/default/xui/ja/menu_outfit_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_participant_list.xml b/indra/newview/skins/default/xui/ja/menu_participant_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/ja/menu_people_friends_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_people_groups.xml b/indra/newview/skins/default/xui/ja/menu_people_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/ja/menu_people_groups_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_people_nearby.xml b/indra/newview/skins/default/xui/ja/menu_people_nearby.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/ja/menu_people_nearby_multiselect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/ja/menu_people_nearby_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/ja/menu_people_recent_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_picks.xml b/indra/newview/skins/default/xui/ja/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_picks_plus.xml b/indra/newview/skins/default/xui/ja/menu_picks_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_place.xml b/indra/newview/skins/default/xui/ja/menu_place.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_place_add_button.xml b/indra/newview/skins/default/xui/ja/menu_place_add_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/ja/menu_places_gear_folder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/ja/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_profile_overflow.xml b/indra/newview/skins/default/xui/ja/menu_profile_overflow.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_save_outfit.xml b/indra/newview/skins/default/xui/ja/menu_save_outfit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_script_chiclet.xml b/indra/newview/skins/default/xui/ja/menu_script_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_slurl.xml b/indra/newview/skins/default/xui/ja/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/ja/menu_teleport_history_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/ja/menu_teleport_history_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_text_editor.xml b/indra/newview/skins/default/xui/ja/menu_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_topinfobar.xml b/indra/newview/skins/default/xui/ja/menu_topinfobar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_agent.xml b/indra/newview/skins/default/xui/ja/menu_url_agent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_group.xml b/indra/newview/skins/default/xui/ja/menu_url_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_http.xml b/indra/newview/skins/default/xui/ja/menu_url_http.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_inventory.xml b/indra/newview/skins/default/xui/ja/menu_url_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_map.xml b/indra/newview/skins/default/xui/ja/menu_url_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_objectim.xml b/indra/newview/skins/default/xui/ja/menu_url_objectim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_parcel.xml b/indra/newview/skins/default/xui/ja/menu_url_parcel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_slapp.xml b/indra/newview/skins/default/xui/ja/menu_url_slapp.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_slurl.xml b/indra/newview/skins/default/xui/ja/menu_url_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_url_teleport.xml b/indra/newview/skins/default/xui/ja/menu_url_teleport.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/ja/menu_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_wearing_gear.xml b/indra/newview/skins/default/xui/ja/menu_wearing_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/menu_wearing_tab.xml b/indra/newview/skins/default/xui/ja/menu_wearing_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/mime_types.xml b/indra/newview/skins/default/xui/ja/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/mime_types_linux.xml b/indra/newview/skins/default/xui/ja/mime_types_linux.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/mime_types_mac.xml b/indra/newview/skins/default/xui/ja/mime_types_mac.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/ja/outfit_accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_active_object_row.xml b/indra/newview/skins/default/xui/ja/panel_active_object_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_activeim_row.xml b/indra/newview/skins/default/xui/ja/panel_activeim_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/ja/panel_adhoc_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_audio_device.xml b/indra/newview/skins/default/xui/ja/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/ja/panel_avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_avatar_tag.xml b/indra/newview/skins/default/xui/ja/panel_avatar_tag.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/ja/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/ja/panel_body_parts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/ja/panel_bodyparts_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_bottomtray.xml b/indra/newview/skins/default/xui/ja/panel_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/ja/panel_bottomtray_lite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_chat_header.xml b/indra/newview/skins/default/xui/ja/panel_chat_header.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_classified_info.xml b/indra/newview/skins/default/xui/ja/panel_classified_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/ja/panel_clothing_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/ja/panel_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_cof_wearables.xml b/indra/newview/skins/default/xui/ja/panel_cof_wearables.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/ja/panel_deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/ja/panel_dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_alpha.xml b/indra/newview/skins/default/xui/ja/panel_edit_alpha.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_classified.xml b/indra/newview/skins/default/xui/ja/panel_edit_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_eyes.xml b/indra/newview/skins/default/xui/ja/panel_edit_eyes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_gloves.xml b/indra/newview/skins/default/xui/ja/panel_edit_gloves.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_hair.xml b/indra/newview/skins/default/xui/ja/panel_edit_hair.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_jacket.xml b/indra/newview/skins/default/xui/ja/panel_edit_jacket.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_pants.xml b/indra/newview/skins/default/xui/ja/panel_edit_pants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_pick.xml b/indra/newview/skins/default/xui/ja/panel_edit_pick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_profile.xml b/indra/newview/skins/default/xui/ja/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_shape.xml b/indra/newview/skins/default/xui/ja/panel_edit_shape.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_shirt.xml b/indra/newview/skins/default/xui/ja/panel_edit_shirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_shoes.xml b/indra/newview/skins/default/xui/ja/panel_edit_shoes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_skin.xml b/indra/newview/skins/default/xui/ja/panel_edit_skin.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_skirt.xml b/indra/newview/skins/default/xui/ja/panel_edit_skirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_socks.xml b/indra/newview/skins/default/xui/ja/panel_edit_socks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/ja/panel_edit_tattoo.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_underpants.xml b/indra/newview/skins/default/xui/ja/panel_edit_underpants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/ja/panel_edit_undershirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_edit_wearable.xml b/indra/newview/skins/default/xui/ja/panel_edit_wearable.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_friends.xml b/indra/newview/skins/default/xui/ja/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_group_control_panel.xml b/indra/newview/skins/default/xui/ja/panel_group_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_group_general.xml b/indra/newview/skins/default/xui/ja/panel_group_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_group_invite.xml b/indra/newview/skins/default/xui/ja/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_group_land_money.xml b/indra/newview/skins/default/xui/ja/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_group_list_item.xml b/indra/newview/skins/default/xui/ja/panel_group_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_group_notices.xml b/indra/newview/skins/default/xui/ja/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_group_notify.xml b/indra/newview/skins/default/xui/ja/panel_group_notify.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_group_roles.xml b/indra/newview/skins/default/xui/ja/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_groups.xml b/indra/newview/skins/default/xui/ja/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml b/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_instant_message.xml b/indra/newview/skins/default/xui/ja/panel_instant_message.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_inventory_item.xml b/indra/newview/skins/default/xui/ja/panel_inventory_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_landmark_info.xml b/indra/newview/skins/default/xui/ja/panel_landmark_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_landmarks.xml b/indra/newview/skins/default/xui/ja/panel_landmarks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_login.xml b/indra/newview/skins/default/xui/ja/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_main_inventory.xml b/indra/newview/skins/default/xui/ja/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_me.xml b/indra/newview/skins/default/xui/ja/panel_me.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_media_settings_general.xml b/indra/newview/skins/default/xui/ja/panel_media_settings_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/ja/panel_media_settings_permissions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_media_settings_security.xml b/indra/newview/skins/default/xui/ja/panel_media_settings_security.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_my_profile.xml b/indra/newview/skins/default/xui/ja/panel_my_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_navigation_bar.xml b/indra/newview/skins/default/xui/ja/panel_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_nearby_chat.xml b/indra/newview/skins/default/xui/ja/panel_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/ja/panel_nearby_chat_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_nearby_media.xml b/indra/newview/skins/default/xui/ja/panel_nearby_media.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_notes.xml b/indra/newview/skins/default/xui/ja/panel_notes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_notifications_channel.xml b/indra/newview/skins/default/xui/ja/panel_notifications_channel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_online_status.xml b/indra/newview/skins/default/xui/ja/panel_online_status.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_online_status_toast.xml b/indra/newview/skins/default/xui/ja/panel_online_status_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_outfit_edit.xml b/indra/newview/skins/default/xui/ja/panel_outfit_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/ja/panel_outfits_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_outfits_list.xml b/indra/newview/skins/default/xui/ja/panel_outfits_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/ja/panel_outfits_wearing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_people.xml b/indra/newview/skins/default/xui/ja/panel_people.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_pick_info.xml b/indra/newview/skins/default/xui/ja/panel_pick_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_picks.xml b/indra/newview/skins/default/xui/ja/panel_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_place_profile.xml b/indra/newview/skins/default/xui/ja/panel_place_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_places.xml b/indra/newview/skins/default/xui/ja/panel_places.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/ja/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_general.xml b/indra/newview/skins/default/xui/ja/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/ja/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/ja/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_setup.xml b/indra/newview/skins/default/xui/ja/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml b/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/ja/panel_prim_media_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_profile.xml b/indra/newview/skins/default/xui/ja/panel_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_profile_view.xml b/indra/newview/skins/default/xui/ja/panel_profile_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_region_covenant.xml b/indra/newview/skins/default/xui/ja/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_region_debug.xml b/indra/newview/skins/default/xui/ja/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_region_estate.xml b/indra/newview/skins/default/xui/ja/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_region_general.xml b/indra/newview/skins/default/xui/ja/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_region_general_layout.xml b/indra/newview/skins/default/xui/ja/panel_region_general_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_region_terrain.xml b/indra/newview/skins/default/xui/ja/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_region_texture.xml b/indra/newview/skins/default/xui/ja/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_script_ed.xml b/indra/newview/skins/default/xui/ja/panel_script_ed.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/ja/panel_script_limits_my_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/ja/panel_script_limits_region_memory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_scrolling_param.xml b/indra/newview/skins/default/xui/ja/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_side_tray.xml b/indra/newview/skins/default/xui/ja/panel_side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/ja/panel_side_tray_tab_caption.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_sidetray_home_tab.xml b/indra/newview/skins/default/xui/ja/panel_sidetray_home_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/ja/panel_stand_stop_flying.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_status_bar.xml b/indra/newview/skins/default/xui/ja/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_sys_well_item.xml b/indra/newview/skins/default/xui/ja/panel_sys_well_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_teleport_history.xml b/indra/newview/skins/default/xui/ja/panel_teleport_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/ja/panel_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_voice_effect.xml b/indra/newview/skins/default/xui/ja/panel_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/panel_world_map.xml b/indra/newview/skins/default/xui/ja/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/role_actions.xml b/indra/newview/skins/default/xui/ja/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/sidepanel_appearance.xml b/indra/newview/skins/default/xui/ja/sidepanel_appearance.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml b/indra/newview/skins/default/xui/ja/sidepanel_item_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml b/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/teleport_strings.xml b/indra/newview/skins/default/xui/ja/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/ja/xui_version.xml b/indra/newview/skins/default/xui/ja/xui_version.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_about.xml b/indra/newview/skins/default/xui/nl/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_about_land.xml b/indra/newview/skins/default/xui/nl/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_animation_preview.xml b/indra/newview/skins/default/xui/nl/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_auction.xml b/indra/newview/skins/default/xui/nl/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_avatar_picker.xml b/indra/newview/skins/default/xui/nl/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_avatar_textures.xml b/indra/newview/skins/default/xui/nl/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_beacons.xml b/indra/newview/skins/default/xui/nl/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_build_options.xml b/indra/newview/skins/default/xui/nl/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_bulk_perms.xml b/indra/newview/skins/default/xui/nl/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_bumps.xml b/indra/newview/skins/default/xui/nl/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_buy_contents.xml b/indra/newview/skins/default/xui/nl/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_buy_currency.xml b/indra/newview/skins/default/xui/nl/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_buy_land.xml b/indra/newview/skins/default/xui/nl/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_buy_object.xml b/indra/newview/skins/default/xui/nl/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_camera.xml b/indra/newview/skins/default/xui/nl/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_choose_group.xml b/indra/newview/skins/default/xui/nl/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_color_picker.xml b/indra/newview/skins/default/xui/nl/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_critical.xml b/indra/newview/skins/default/xui/nl/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_customize.xml b/indra/newview/skins/default/xui/nl/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/nl/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_env_settings.xml b/indra/newview/skins/default/xui/nl/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_font_test.xml b/indra/newview/skins/default/xui/nl/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_gesture.xml b/indra/newview/skins/default/xui/nl/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_hardware_settings.xml b/indra/newview/skins/default/xui/nl/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_hud.xml b/indra/newview/skins/default/xui/nl/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_im.xml b/indra/newview/skins/default/xui/nl/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_image_preview.xml b/indra/newview/skins/default/xui/nl/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_inspect.xml b/indra/newview/skins/default/xui/nl/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_inventory.xml b/indra/newview/skins/default/xui/nl/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/nl/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_joystick.xml b/indra/newview/skins/default/xui/nl/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_lagmeter.xml b/indra/newview/skins/default/xui/nl/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_land_holdings.xml b/indra/newview/skins/default/xui/nl/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/nl/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_lsl_guide.xml b/indra/newview/skins/default/xui/nl/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_map.xml b/indra/newview/skins/default/xui/nl/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_media_browser.xml b/indra/newview/skins/default/xui/nl/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_mem_leaking.xml b/indra/newview/skins/default/xui/nl/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_moveview.xml b/indra/newview/skins/default/xui/nl/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_mute_object.xml b/indra/newview/skins/default/xui/nl/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_my_friends.xml b/indra/newview/skins/default/xui/nl/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_openobject.xml b/indra/newview/skins/default/xui/nl/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_pay.xml b/indra/newview/skins/default/xui/nl/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_pay_object.xml b/indra/newview/skins/default/xui/nl/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_perm_prefs.xml b/indra/newview/skins/default/xui/nl/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_post_process.xml b/indra/newview/skins/default/xui/nl/floater_post_process.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_postcard.xml b/indra/newview/skins/default/xui/nl/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_preferences.xml b/indra/newview/skins/default/xui/nl/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_preview_animation.xml b/indra/newview/skins/default/xui/nl/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml b/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_preview_notecard.xml b/indra/newview/skins/default/xui/nl/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_preview_sound.xml b/indra/newview/skins/default/xui/nl/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_preview_texture.xml b/indra/newview/skins/default/xui/nl/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_region_info.xml b/indra/newview/skins/default/xui/nl/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_report_abuse.xml b/indra/newview/skins/default/xui/nl/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_script_debug.xml b/indra/newview/skins/default/xui/nl/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_script_preview.xml b/indra/newview/skins/default/xui/nl/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_script_queue.xml b/indra/newview/skins/default/xui/nl/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_script_search.xml b/indra/newview/skins/default/xui/nl/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_select_key.xml b/indra/newview/skins/default/xui/nl/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_sell_land.xml b/indra/newview/skins/default/xui/nl/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_settings_debug.xml b/indra/newview/skins/default/xui/nl/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_snapshot.xml b/indra/newview/skins/default/xui/nl/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_sound_preview.xml b/indra/newview/skins/default/xui/nl/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_statistics.xml b/indra/newview/skins/default/xui/nl/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_stats.xml b/indra/newview/skins/default/xui/nl/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_telehub.xml b/indra/newview/skins/default/xui/nl/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/nl/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_tools.xml b/indra/newview/skins/default/xui/nl/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_top_objects.xml b/indra/newview/skins/default/xui/nl/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_tos.xml b/indra/newview/skins/default/xui/nl/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_url_entry.xml b/indra/newview/skins/default/xui/nl/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_water.xml b/indra/newview/skins/default/xui/nl/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_windlight_options.xml b/indra/newview/skins/default/xui/nl/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/floater_world_map.xml b/indra/newview/skins/default/xui/nl/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/language_settings.xml b/indra/newview/skins/default/xui/nl/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/menu_inventory.xml b/indra/newview/skins/default/xui/nl/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/menu_inventory_add.xml b/indra/newview/skins/default/xui/nl/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/menu_login.xml b/indra/newview/skins/default/xui/nl/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/menu_mini_map.xml b/indra/newview/skins/default/xui/nl/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/menu_picks.xml b/indra/newview/skins/default/xui/nl/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/nl/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/menu_slurl.xml b/indra/newview/skins/default/xui/nl/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/menu_viewer.xml b/indra/newview/skins/default/xui/nl/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/mime_types.xml b/indra/newview/skins/default/xui/nl/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/notifications.xml b/indra/newview/skins/default/xui/nl/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_audio_device.xml b/indra/newview/skins/default/xui/nl/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/nl/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_edit_profile.xml b/indra/newview/skins/default/xui/nl/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_friends.xml b/indra/newview/skins/default/xui/nl/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_group_general.xml b/indra/newview/skins/default/xui/nl/panel_group_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_group_invite.xml b/indra/newview/skins/default/xui/nl/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_group_land_money.xml b/indra/newview/skins/default/xui/nl/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_group_notices.xml b/indra/newview/skins/default/xui/nl/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_group_roles.xml b/indra/newview/skins/default/xui/nl/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_groups.xml b/indra/newview/skins/default/xui/nl/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_login.xml b/indra/newview/skins/default/xui/nl/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_main_inventory.xml b/indra/newview/skins/default/xui/nl/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/nl/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/nl/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/nl/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_general.xml b/indra/newview/skins/default/xui/nl/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/nl/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/nl/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_setup.xml b/indra/newview/skins/default/xui/nl/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_preferences_sound.xml b/indra/newview/skins/default/xui/nl/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_region_covenant.xml b/indra/newview/skins/default/xui/nl/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_region_debug.xml b/indra/newview/skins/default/xui/nl/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_region_estate.xml b/indra/newview/skins/default/xui/nl/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_region_general.xml b/indra/newview/skins/default/xui/nl/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_region_terrain.xml b/indra/newview/skins/default/xui/nl/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_region_texture.xml b/indra/newview/skins/default/xui/nl/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_scrolling_param.xml b/indra/newview/skins/default/xui/nl/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_status_bar.xml b/indra/newview/skins/default/xui/nl/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/panel_world_map.xml b/indra/newview/skins/default/xui/nl/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/role_actions.xml b/indra/newview/skins/default/xui/nl/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/strings.xml b/indra/newview/skins/default/xui/nl/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/nl/teleport_strings.xml b/indra/newview/skins/default/xui/nl/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_about.xml b/indra/newview/skins/default/xui/pl/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_about_land.xml b/indra/newview/skins/default/xui/pl/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_activeim.xml b/indra/newview/skins/default/xui/pl/floater_activeim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_animation_preview.xml b/indra/newview/skins/default/xui/pl/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_auction.xml b/indra/newview/skins/default/xui/pl/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml b/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml b/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_beacons.xml b/indra/newview/skins/default/xui/pl/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_build_options.xml b/indra/newview/skins/default/xui/pl/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml b/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_bumps.xml b/indra/newview/skins/default/xui/pl/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_buy_contents.xml b/indra/newview/skins/default/xui/pl/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_buy_currency.xml b/indra/newview/skins/default/xui/pl/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/pl/floater_buy_currency_html.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_buy_land.xml b/indra/newview/skins/default/xui/pl/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_buy_object.xml b/indra/newview/skins/default/xui/pl/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_camera.xml b/indra/newview/skins/default/xui/pl/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_choose_group.xml b/indra/newview/skins/default/xui/pl/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_color_picker.xml b/indra/newview/skins/default/xui/pl/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_critical.xml b/indra/newview/skins/default/xui/pl/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_customize.xml b/indra/newview/skins/default/xui/pl/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_device_settings.xml b/indra/newview/skins/default/xui/pl/floater_device_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_env_settings.xml b/indra/newview/skins/default/xui/pl/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_event.xml b/indra/newview/skins/default/xui/pl/floater_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_font_test.xml b/indra/newview/skins/default/xui/pl/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_gesture.xml b/indra/newview/skins/default/xui/pl/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_god_tools.xml b/indra/newview/skins/default/xui/pl/floater_god_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml b/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_help_browser.xml b/indra/newview/skins/default/xui/pl/floater_help_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_hud.xml b/indra/newview/skins/default/xui/pl/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_im.xml b/indra/newview/skins/default/xui/pl/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_im_container.xml b/indra/newview/skins/default/xui/pl/floater_im_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_im_session.xml b/indra/newview/skins/default/xui/pl/floater_im_session.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_image_preview.xml b/indra/newview/skins/default/xui/pl/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_incoming_call.xml b/indra/newview/skins/default/xui/pl/floater_incoming_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_inspect.xml b/indra/newview/skins/default/xui/pl/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_inventory.xml b/indra/newview/skins/default/xui/pl/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_joystick.xml b/indra/newview/skins/default/xui/pl/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_lagmeter.xml b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_land_holdings.xml b/indra/newview/skins/default/xui/pl/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml b/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_map.xml b/indra/newview/skins/default/xui/pl/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_media_browser.xml b/indra/newview/skins/default/xui/pl/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_media_settings.xml b/indra/newview/skins/default/xui/pl/floater_media_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml b/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_moveview.xml b/indra/newview/skins/default/xui/pl/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_mute_object.xml b/indra/newview/skins/default/xui/pl/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_my_friends.xml b/indra/newview/skins/default/xui/pl/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_nearby_chat.xml b/indra/newview/skins/default/xui/pl/floater_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_openobject.xml b/indra/newview/skins/default/xui/pl/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/pl/floater_outfit_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_outgoing_call.xml b/indra/newview/skins/default/xui/pl/floater_outgoing_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_pay.xml b/indra/newview/skins/default/xui/pl/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_pay_object.xml b/indra/newview/skins/default/xui/pl/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_perm_prefs.xml b/indra/newview/skins/default/xui/pl/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_post_process.xml b/indra/newview/skins/default/xui/pl/floater_post_process.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_postcard.xml b/indra/newview/skins/default/xui/pl/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preferences.xml b/indra/newview/skins/default/xui/pl/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_animation.xml b/indra/newview/skins/default/xui/pl/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_classified.xml b/indra/newview/skins/default/xui/pl/floater_preview_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_event.xml b/indra/newview/skins/default/xui/pl/floater_preview_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/pl/floater_preview_gesture_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/pl/floater_preview_gesture_shortcut.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/pl/floater_preview_gesture_steps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml b/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_sound.xml b/indra/newview/skins/default/xui/pl/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_preview_texture.xml b/indra/newview/skins/default/xui/pl/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_publish_classified.xml b/indra/newview/skins/default/xui/pl/floater_publish_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_region_info.xml b/indra/newview/skins/default/xui/pl/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_report_abuse.xml b/indra/newview/skins/default/xui/pl/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_script_debug.xml b/indra/newview/skins/default/xui/pl/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/pl/floater_script_debug_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_script_limits.xml b/indra/newview/skins/default/xui/pl/floater_script_limits.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_script_preview.xml b/indra/newview/skins/default/xui/pl/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_script_queue.xml b/indra/newview/skins/default/xui/pl/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_script_search.xml b/indra/newview/skins/default/xui/pl/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_search.xml b/indra/newview/skins/default/xui/pl/floater_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_select_key.xml b/indra/newview/skins/default/xui/pl/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_sell_land.xml b/indra/newview/skins/default/xui/pl/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_settings_debug.xml b/indra/newview/skins/default/xui/pl/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_snapshot.xml b/indra/newview/skins/default/xui/pl/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_sound_preview.xml b/indra/newview/skins/default/xui/pl/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_statistics.xml b/indra/newview/skins/default/xui/pl/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_stats.xml b/indra/newview/skins/default/xui/pl/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_sys_well.xml b/indra/newview/skins/default/xui/pl/floater_sys_well.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_telehub.xml b/indra/newview/skins/default/xui/pl/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_tools.xml b/indra/newview/skins/default/xui/pl/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_top_objects.xml b/indra/newview/skins/default/xui/pl/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_tos.xml b/indra/newview/skins/default/xui/pl/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_url_entry.xml b/indra/newview/skins/default/xui/pl/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_voice_controls.xml b/indra/newview/skins/default/xui/pl/floater_voice_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_voice_effect.xml b/indra/newview/skins/default/xui/pl/floater_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_water.xml b/indra/newview/skins/default/xui/pl/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/pl/floater_whitelist_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_windlight_options.xml b/indra/newview/skins/default/xui/pl/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_window_size.xml b/indra/newview/skins/default/xui/pl/floater_window_size.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/floater_world_map.xml b/indra/newview/skins/default/xui/pl/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/inspect_avatar.xml b/indra/newview/skins/default/xui/pl/inspect_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/inspect_group.xml b/indra/newview/skins/default/xui/pl/inspect_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/inspect_object.xml b/indra/newview/skins/default/xui/pl/inspect_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/inspect_remote_object.xml b/indra/newview/skins/default/xui/pl/inspect_remote_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/language_settings.xml b/indra/newview/skins/default/xui/pl/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_attachment_other.xml b/indra/newview/skins/default/xui/pl/menu_attachment_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_attachment_self.xml b/indra/newview/skins/default/xui/pl/menu_attachment_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_icon.xml b/indra/newview/skins/default/xui/pl/menu_avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_other.xml b/indra/newview/skins/default/xui/pl/menu_avatar_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_self.xml b/indra/newview/skins/default/xui/pl/menu_avatar_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_bottomtray.xml b/indra/newview/skins/default/xui/pl/menu_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_cof_attachment.xml b/indra/newview/skins/default/xui/pl/menu_cof_attachment.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_cof_body_part.xml b/indra/newview/skins/default/xui/pl/menu_cof_body_part.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_cof_clothing.xml b/indra/newview/skins/default/xui/pl/menu_cof_clothing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_cof_gear.xml b/indra/newview/skins/default/xui/pl/menu_cof_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_edit.xml b/indra/newview/skins/default/xui/pl/menu_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_favorites.xml b/indra/newview/skins/default/xui/pl/menu_favorites.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_gesture_gear.xml b/indra/newview/skins/default/xui/pl/menu_gesture_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_group_plus.xml b/indra/newview/skins/default/xui/pl/menu_group_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_hide_navbar.xml b/indra/newview/skins/default/xui/pl/menu_hide_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_im_well_button.xml b/indra/newview/skins/default/xui/pl/menu_im_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/pl/menu_imchiclet_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/pl/menu_imchiclet_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/pl/menu_imchiclet_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/pl/menu_inspect_avatar_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/pl/menu_inspect_object_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/pl/menu_inspect_self_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/pl/menu_inv_offer_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_inventory.xml b/indra/newview/skins/default/xui/pl/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_inventory_add.xml b/indra/newview/skins/default/xui/pl/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/pl/menu_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_land.xml b/indra/newview/skins/default/xui/pl/menu_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_landmark.xml b/indra/newview/skins/default/xui/pl/menu_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_login.xml b/indra/newview/skins/default/xui/pl/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_mini_map.xml b/indra/newview/skins/default/xui/pl/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_navbar.xml b/indra/newview/skins/default/xui/pl/menu_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_nearby_chat.xml b/indra/newview/skins/default/xui/pl/menu_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_notification_well_button.xml b/indra/newview/skins/default/xui/pl/menu_notification_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_object.xml b/indra/newview/skins/default/xui/pl/menu_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_object_icon.xml b/indra/newview/skins/default/xui/pl/menu_object_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_outfit_gear.xml b/indra/newview/skins/default/xui/pl/menu_outfit_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_outfit_tab.xml b/indra/newview/skins/default/xui/pl/menu_outfit_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_participant_list.xml b/indra/newview/skins/default/xui/pl/menu_participant_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/pl/menu_people_friends_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_people_groups.xml b/indra/newview/skins/default/xui/pl/menu_people_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/pl/menu_people_groups_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_people_nearby.xml b/indra/newview/skins/default/xui/pl/menu_people_nearby.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/pl/menu_people_nearby_multiselect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/pl/menu_people_nearby_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/pl/menu_people_recent_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_picks.xml b/indra/newview/skins/default/xui/pl/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_picks_plus.xml b/indra/newview/skins/default/xui/pl/menu_picks_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_place.xml b/indra/newview/skins/default/xui/pl/menu_place.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_place_add_button.xml b/indra/newview/skins/default/xui/pl/menu_place_add_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/pl/menu_places_gear_folder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/pl/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_profile_overflow.xml b/indra/newview/skins/default/xui/pl/menu_profile_overflow.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_save_outfit.xml b/indra/newview/skins/default/xui/pl/menu_save_outfit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_script_chiclet.xml b/indra/newview/skins/default/xui/pl/menu_script_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_slurl.xml b/indra/newview/skins/default/xui/pl/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/pl/menu_teleport_history_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/pl/menu_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/pl/menu_teleport_history_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_text_editor.xml b/indra/newview/skins/default/xui/pl/menu_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_topinfobar.xml b/indra/newview/skins/default/xui/pl/menu_topinfobar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_agent.xml b/indra/newview/skins/default/xui/pl/menu_url_agent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_group.xml b/indra/newview/skins/default/xui/pl/menu_url_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_http.xml b/indra/newview/skins/default/xui/pl/menu_url_http.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_inventory.xml b/indra/newview/skins/default/xui/pl/menu_url_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_map.xml b/indra/newview/skins/default/xui/pl/menu_url_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_objectim.xml b/indra/newview/skins/default/xui/pl/menu_url_objectim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_parcel.xml b/indra/newview/skins/default/xui/pl/menu_url_parcel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_slapp.xml b/indra/newview/skins/default/xui/pl/menu_url_slapp.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_slurl.xml b/indra/newview/skins/default/xui/pl/menu_url_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_url_teleport.xml b/indra/newview/skins/default/xui/pl/menu_url_teleport.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_viewer.xml b/indra/newview/skins/default/xui/pl/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/pl/menu_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_wearing_gear.xml b/indra/newview/skins/default/xui/pl/menu_wearing_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/menu_wearing_tab.xml b/indra/newview/skins/default/xui/pl/menu_wearing_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/mime_types.xml b/indra/newview/skins/default/xui/pl/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/mime_types_linux.xml b/indra/newview/skins/default/xui/pl/mime_types_linux.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/mime_types_mac.xml b/indra/newview/skins/default/xui/pl/mime_types_mac.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/pl/outfit_accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_active_object_row.xml b/indra/newview/skins/default/xui/pl/panel_active_object_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/pl/panel_adhoc_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_audio_device.xml b/indra/newview/skins/default/xui/pl/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/pl/panel_avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/pl/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/pl/panel_body_parts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/pl/panel_bodyparts_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_bottomtray.xml b/indra/newview/skins/default/xui/pl/panel_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/pl/panel_bottomtray_lite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_classified_info.xml b/indra/newview/skins/default/xui/pl/panel_classified_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/pl/panel_clothing_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/pl/panel_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_cof_wearables.xml b/indra/newview/skins/default/xui/pl/panel_cof_wearables.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/pl/panel_deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/pl/panel_dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_alpha.xml b/indra/newview/skins/default/xui/pl/panel_edit_alpha.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_classified.xml b/indra/newview/skins/default/xui/pl/panel_edit_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_eyes.xml b/indra/newview/skins/default/xui/pl/panel_edit_eyes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_gloves.xml b/indra/newview/skins/default/xui/pl/panel_edit_gloves.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_hair.xml b/indra/newview/skins/default/xui/pl/panel_edit_hair.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_jacket.xml b/indra/newview/skins/default/xui/pl/panel_edit_jacket.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_pants.xml b/indra/newview/skins/default/xui/pl/panel_edit_pants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_pick.xml b/indra/newview/skins/default/xui/pl/panel_edit_pick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_profile.xml b/indra/newview/skins/default/xui/pl/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_shape.xml b/indra/newview/skins/default/xui/pl/panel_edit_shape.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_shirt.xml b/indra/newview/skins/default/xui/pl/panel_edit_shirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_shoes.xml b/indra/newview/skins/default/xui/pl/panel_edit_shoes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_skin.xml b/indra/newview/skins/default/xui/pl/panel_edit_skin.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_skirt.xml b/indra/newview/skins/default/xui/pl/panel_edit_skirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_socks.xml b/indra/newview/skins/default/xui/pl/panel_edit_socks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_underpants.xml b/indra/newview/skins/default/xui/pl/panel_edit_underpants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/pl/panel_edit_undershirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_edit_wearable.xml b/indra/newview/skins/default/xui/pl/panel_edit_wearable.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_friends.xml b/indra/newview/skins/default/xui/pl/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_group_control_panel.xml b/indra/newview/skins/default/xui/pl/panel_group_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_group_general.xml b/indra/newview/skins/default/xui/pl/panel_group_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/pl/panel_group_info_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_group_invite.xml b/indra/newview/skins/default/xui/pl/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_group_land_money.xml b/indra/newview/skins/default/xui/pl/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_group_list_item.xml b/indra/newview/skins/default/xui/pl/panel_group_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_group_notices.xml b/indra/newview/skins/default/xui/pl/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_group_notify.xml b/indra/newview/skins/default/xui/pl/panel_group_notify.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_group_roles.xml b/indra/newview/skins/default/xui/pl/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_groups.xml b/indra/newview/skins/default/xui/pl/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_im_control_panel.xml b/indra/newview/skins/default/xui/pl/panel_im_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_inventory_item.xml b/indra/newview/skins/default/xui/pl/panel_inventory_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_landmark_info.xml b/indra/newview/skins/default/xui/pl/panel_landmark_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_landmarks.xml b/indra/newview/skins/default/xui/pl/panel_landmarks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_login.xml b/indra/newview/skins/default/xui/pl/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_main_inventory.xml b/indra/newview/skins/default/xui/pl/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_me.xml b/indra/newview/skins/default/xui/pl/panel_me.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_media_settings_general.xml b/indra/newview/skins/default/xui/pl/panel_media_settings_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_media_settings_security.xml b/indra/newview/skins/default/xui/pl/panel_media_settings_security.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_my_profile.xml b/indra/newview/skins/default/xui/pl/panel_my_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_navigation_bar.xml b/indra/newview/skins/default/xui/pl/panel_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_nearby_chat.xml b/indra/newview/skins/default/xui/pl/panel_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/pl/panel_nearby_chat_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_nearby_media.xml b/indra/newview/skins/default/xui/pl/panel_nearby_media.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_notes.xml b/indra/newview/skins/default/xui/pl/panel_notes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_online_status.xml b/indra/newview/skins/default/xui/pl/panel_online_status.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_online_status_toast.xml b/indra/newview/skins/default/xui/pl/panel_online_status_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_outfit_edit.xml b/indra/newview/skins/default/xui/pl/panel_outfit_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/pl/panel_outfits_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_outfits_list.xml b/indra/newview/skins/default/xui/pl/panel_outfits_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/pl/panel_outfits_wearing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_people.xml b/indra/newview/skins/default/xui/pl/panel_people.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_pick_info.xml b/indra/newview/skins/default/xui/pl/panel_pick_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_picks.xml b/indra/newview/skins/default/xui/pl/panel_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_place_profile.xml b/indra/newview/skins/default/xui/pl/panel_place_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_places.xml b/indra/newview/skins/default/xui/pl/panel_places.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/pl/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_general.xml b/indra/newview/skins/default/xui/pl/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml b/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml b/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/pl/panel_prim_media_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_profile.xml b/indra/newview/skins/default/xui/pl/panel_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_profile_view.xml b/indra/newview/skins/default/xui/pl/panel_profile_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_region_covenant.xml b/indra/newview/skins/default/xui/pl/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_region_debug.xml b/indra/newview/skins/default/xui/pl/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_region_estate.xml b/indra/newview/skins/default/xui/pl/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_region_general.xml b/indra/newview/skins/default/xui/pl/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_region_general_layout.xml b/indra/newview/skins/default/xui/pl/panel_region_general_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_region_terrain.xml b/indra/newview/skins/default/xui/pl/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_region_texture.xml b/indra/newview/skins/default/xui/pl/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_script_ed.xml b/indra/newview/skins/default/xui/pl/panel_script_ed.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/pl/panel_script_limits_my_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/pl/panel_script_limits_region_memory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml b/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_side_tray.xml b/indra/newview/skins/default/xui/pl/panel_side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/pl/panel_side_tray_tab_caption.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/pl/panel_stand_stop_flying.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_status_bar.xml b/indra/newview/skins/default/xui/pl/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_teleport_history.xml b/indra/newview/skins/default/xui/pl/panel_teleport_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/pl/panel_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_voice_effect.xml b/indra/newview/skins/default/xui/pl/panel_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/panel_world_map.xml b/indra/newview/skins/default/xui/pl/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/role_actions.xml b/indra/newview/skins/default/xui/pl/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/sidepanel_appearance.xml b/indra/newview/skins/default/xui/pl/sidepanel_appearance.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/sidepanel_item_info.xml b/indra/newview/skins/default/xui/pl/sidepanel_item_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml b/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/teleport_strings.xml b/indra/newview/skins/default/xui/pl/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pl/xui_version.xml b/indra/newview/skins/default/xui/pl/xui_version.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_about.xml b/indra/newview/skins/default/xui/pt/floater_about.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_about_land.xml b/indra/newview/skins/default/xui/pt/floater_about_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_activeim.xml b/indra/newview/skins/default/xui/pt/floater_activeim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_animation_preview.xml b/indra/newview/skins/default/xui/pt/floater_animation_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_auction.xml b/indra/newview/skins/default/xui/pt/floater_auction.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_avatar_picker.xml b/indra/newview/skins/default/xui/pt/floater_avatar_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_avatar_textures.xml b/indra/newview/skins/default/xui/pt/floater_avatar_textures.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_beacons.xml b/indra/newview/skins/default/xui/pt/floater_beacons.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_build_options.xml b/indra/newview/skins/default/xui/pt/floater_build_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_bulk_perms.xml b/indra/newview/skins/default/xui/pt/floater_bulk_perms.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_bumps.xml b/indra/newview/skins/default/xui/pt/floater_bumps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_buy_contents.xml b/indra/newview/skins/default/xui/pt/floater_buy_contents.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_buy_currency.xml b/indra/newview/skins/default/xui/pt/floater_buy_currency.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_buy_currency_html.xml b/indra/newview/skins/default/xui/pt/floater_buy_currency_html.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_buy_land.xml b/indra/newview/skins/default/xui/pt/floater_buy_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_buy_object.xml b/indra/newview/skins/default/xui/pt/floater_buy_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_camera.xml b/indra/newview/skins/default/xui/pt/floater_camera.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_choose_group.xml b/indra/newview/skins/default/xui/pt/floater_choose_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_color_picker.xml b/indra/newview/skins/default/xui/pt/floater_color_picker.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_critical.xml b/indra/newview/skins/default/xui/pt/floater_critical.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_customize.xml b/indra/newview/skins/default/xui/pt/floater_customize.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/pt/floater_day_cycle_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_device_settings.xml b/indra/newview/skins/default/xui/pt/floater_device_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_env_settings.xml b/indra/newview/skins/default/xui/pt/floater_env_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_event.xml b/indra/newview/skins/default/xui/pt/floater_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_font_test.xml b/indra/newview/skins/default/xui/pt/floater_font_test.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_gesture.xml b/indra/newview/skins/default/xui/pt/floater_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_god_tools.xml b/indra/newview/skins/default/xui/pt/floater_god_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml b/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_help_browser.xml b/indra/newview/skins/default/xui/pt/floater_help_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_hud.xml b/indra/newview/skins/default/xui/pt/floater_hud.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_im.xml b/indra/newview/skins/default/xui/pt/floater_im.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_im_container.xml b/indra/newview/skins/default/xui/pt/floater_im_container.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_im_session.xml b/indra/newview/skins/default/xui/pt/floater_im_session.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_image_preview.xml b/indra/newview/skins/default/xui/pt/floater_image_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_incoming_call.xml b/indra/newview/skins/default/xui/pt/floater_incoming_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_inspect.xml b/indra/newview/skins/default/xui/pt/floater_inspect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_inventory.xml b/indra/newview/skins/default/xui/pt/floater_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/pt/floater_inventory_view_finder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_joystick.xml b/indra/newview/skins/default/xui/pt/floater_joystick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_lagmeter.xml b/indra/newview/skins/default/xui/pt/floater_lagmeter.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_land_holdings.xml b/indra/newview/skins/default/xui/pt/floater_land_holdings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_lsl_guide.xml b/indra/newview/skins/default/xui/pt/floater_lsl_guide.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_map.xml b/indra/newview/skins/default/xui/pt/floater_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_media_browser.xml b/indra/newview/skins/default/xui/pt/floater_media_browser.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_media_settings.xml b/indra/newview/skins/default/xui/pt/floater_media_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_mem_leaking.xml b/indra/newview/skins/default/xui/pt/floater_mem_leaking.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_moveview.xml b/indra/newview/skins/default/xui/pt/floater_moveview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_mute_object.xml b/indra/newview/skins/default/xui/pt/floater_mute_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_my_friends.xml b/indra/newview/skins/default/xui/pt/floater_my_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_nearby_chat.xml b/indra/newview/skins/default/xui/pt/floater_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_openobject.xml b/indra/newview/skins/default/xui/pt/floater_openobject.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/pt/floater_outfit_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_outgoing_call.xml b/indra/newview/skins/default/xui/pt/floater_outgoing_call.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_pay.xml b/indra/newview/skins/default/xui/pt/floater_pay.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_pay_object.xml b/indra/newview/skins/default/xui/pt/floater_pay_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_perm_prefs.xml b/indra/newview/skins/default/xui/pt/floater_perm_prefs.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_post_process.xml b/indra/newview/skins/default/xui/pt/floater_post_process.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_postcard.xml b/indra/newview/skins/default/xui/pt/floater_postcard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preferences.xml b/indra/newview/skins/default/xui/pt/floater_preferences.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_animation.xml b/indra/newview/skins/default/xui/pt/floater_preview_animation.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_classified.xml b/indra/newview/skins/default/xui/pt/floater_preview_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_event.xml b/indra/newview/skins/default/xui/pt/floater_preview_event.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture_shortcut.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture_steps.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_notecard.xml b/indra/newview/skins/default/xui/pt/floater_preview_notecard.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_sound.xml b/indra/newview/skins/default/xui/pt/floater_preview_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_texture.xml b/indra/newview/skins/default/xui/pt/floater_preview_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_publish_classified.xml b/indra/newview/skins/default/xui/pt/floater_publish_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_region_info.xml b/indra/newview/skins/default/xui/pt/floater_region_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_report_abuse.xml b/indra/newview/skins/default/xui/pt/floater_report_abuse.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_script_debug.xml b/indra/newview/skins/default/xui/pt/floater_script_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/pt/floater_script_debug_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_script_limits.xml b/indra/newview/skins/default/xui/pt/floater_script_limits.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_script_preview.xml b/indra/newview/skins/default/xui/pt/floater_script_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_script_queue.xml b/indra/newview/skins/default/xui/pt/floater_script_queue.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_script_search.xml b/indra/newview/skins/default/xui/pt/floater_script_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_search.xml b/indra/newview/skins/default/xui/pt/floater_search.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_select_key.xml b/indra/newview/skins/default/xui/pt/floater_select_key.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_sell_land.xml b/indra/newview/skins/default/xui/pt/floater_sell_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_settings_debug.xml b/indra/newview/skins/default/xui/pt/floater_settings_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_snapshot.xml b/indra/newview/skins/default/xui/pt/floater_snapshot.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_sound_preview.xml b/indra/newview/skins/default/xui/pt/floater_sound_preview.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_statistics.xml b/indra/newview/skins/default/xui/pt/floater_statistics.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_stats.xml b/indra/newview/skins/default/xui/pt/floater_stats.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_sys_well.xml b/indra/newview/skins/default/xui/pt/floater_sys_well.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_telehub.xml b/indra/newview/skins/default/xui/pt/floater_telehub.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_tools.xml b/indra/newview/skins/default/xui/pt/floater_tools.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_top_objects.xml b/indra/newview/skins/default/xui/pt/floater_top_objects.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_tos.xml b/indra/newview/skins/default/xui/pt/floater_tos.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_url_entry.xml b/indra/newview/skins/default/xui/pt/floater_url_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_voice_controls.xml b/indra/newview/skins/default/xui/pt/floater_voice_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_voice_effect.xml b/indra/newview/skins/default/xui/pt/floater_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_water.xml b/indra/newview/skins/default/xui/pt/floater_water.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/pt/floater_wearable_save_as.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/pt/floater_whitelist_entry.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_windlight_options.xml b/indra/newview/skins/default/xui/pt/floater_windlight_options.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_window_size.xml b/indra/newview/skins/default/xui/pt/floater_window_size.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/floater_world_map.xml b/indra/newview/skins/default/xui/pt/floater_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/inspect_avatar.xml b/indra/newview/skins/default/xui/pt/inspect_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/inspect_group.xml b/indra/newview/skins/default/xui/pt/inspect_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/inspect_object.xml b/indra/newview/skins/default/xui/pt/inspect_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/inspect_remote_object.xml b/indra/newview/skins/default/xui/pt/inspect_remote_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/language_settings.xml b/indra/newview/skins/default/xui/pt/language_settings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_attachment_other.xml b/indra/newview/skins/default/xui/pt/menu_attachment_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_attachment_self.xml b/indra/newview/skins/default/xui/pt/menu_attachment_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml b/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_other.xml b/indra/newview/skins/default/xui/pt/menu_avatar_other.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_self.xml b/indra/newview/skins/default/xui/pt/menu_avatar_self.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_bottomtray.xml b/indra/newview/skins/default/xui/pt/menu_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_cof_attachment.xml b/indra/newview/skins/default/xui/pt/menu_cof_attachment.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_cof_body_part.xml b/indra/newview/skins/default/xui/pt/menu_cof_body_part.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_cof_clothing.xml b/indra/newview/skins/default/xui/pt/menu_cof_clothing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_cof_gear.xml b/indra/newview/skins/default/xui/pt/menu_cof_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_edit.xml b/indra/newview/skins/default/xui/pt/menu_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_favorites.xml b/indra/newview/skins/default/xui/pt/menu_favorites.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_gesture_gear.xml b/indra/newview/skins/default/xui/pt/menu_gesture_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_group_plus.xml b/indra/newview/skins/default/xui/pt/menu_group_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_hide_navbar.xml b/indra/newview/skins/default/xui/pt/menu_hide_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_im_well_button.xml b/indra/newview/skins/default/xui/pt/menu_im_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/pt/menu_imchiclet_adhoc.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/pt/menu_imchiclet_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/pt/menu_imchiclet_p2p.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_object_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/pt/menu_inv_offer_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_inventory.xml b/indra/newview/skins/default/xui/pt/menu_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_inventory_add.xml b/indra/newview/skins/default/xui/pt/menu_inventory_add.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_land.xml b/indra/newview/skins/default/xui/pt/menu_land.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_landmark.xml b/indra/newview/skins/default/xui/pt/menu_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_login.xml b/indra/newview/skins/default/xui/pt/menu_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_mini_map.xml b/indra/newview/skins/default/xui/pt/menu_mini_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_navbar.xml b/indra/newview/skins/default/xui/pt/menu_navbar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_nearby_chat.xml b/indra/newview/skins/default/xui/pt/menu_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_notification_well_button.xml b/indra/newview/skins/default/xui/pt/menu_notification_well_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_object.xml b/indra/newview/skins/default/xui/pt/menu_object.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_object_icon.xml b/indra/newview/skins/default/xui/pt/menu_object_icon.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_outfit_gear.xml b/indra/newview/skins/default/xui/pt/menu_outfit_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_outfit_tab.xml b/indra/newview/skins/default/xui/pt/menu_outfit_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_participant_list.xml b/indra/newview/skins/default/xui/pt/menu_participant_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_people_groups.xml b/indra/newview/skins/default/xui/pt/menu_people_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_people_nearby.xml b/indra/newview/skins/default/xui/pt/menu_people_nearby.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/pt/menu_people_nearby_multiselect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_picks.xml b/indra/newview/skins/default/xui/pt/menu_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_picks_plus.xml b/indra/newview/skins/default/xui/pt/menu_picks_plus.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_place.xml b/indra/newview/skins/default/xui/pt/menu_place.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_place_add_button.xml b/indra/newview/skins/default/xui/pt/menu_place_add_button.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/pt/menu_places_gear_folder.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/pt/menu_places_gear_landmark.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_profile_overflow.xml b/indra/newview/skins/default/xui/pt/menu_profile_overflow.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_save_outfit.xml b/indra/newview/skins/default/xui/pt/menu_save_outfit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_script_chiclet.xml b/indra/newview/skins/default/xui/pt/menu_script_chiclet.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_slurl.xml b/indra/newview/skins/default/xui/pt/menu_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/pt/menu_teleport_history_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/pt/menu_teleport_history_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_text_editor.xml b/indra/newview/skins/default/xui/pt/menu_text_editor.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_topinfobar.xml b/indra/newview/skins/default/xui/pt/menu_topinfobar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_agent.xml b/indra/newview/skins/default/xui/pt/menu_url_agent.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_group.xml b/indra/newview/skins/default/xui/pt/menu_url_group.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_http.xml b/indra/newview/skins/default/xui/pt/menu_url_http.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_inventory.xml b/indra/newview/skins/default/xui/pt/menu_url_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_map.xml b/indra/newview/skins/default/xui/pt/menu_url_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_objectim.xml b/indra/newview/skins/default/xui/pt/menu_url_objectim.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_parcel.xml b/indra/newview/skins/default/xui/pt/menu_url_parcel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_slapp.xml b/indra/newview/skins/default/xui/pt/menu_url_slapp.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_slurl.xml b/indra/newview/skins/default/xui/pt/menu_url_slurl.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_url_teleport.xml b/indra/newview/skins/default/xui/pt/menu_url_teleport.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_wearing_gear.xml b/indra/newview/skins/default/xui/pt/menu_wearing_gear.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/menu_wearing_tab.xml b/indra/newview/skins/default/xui/pt/menu_wearing_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/mime_types.xml b/indra/newview/skins/default/xui/pt/mime_types.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/mime_types_linux.xml b/indra/newview/skins/default/xui/pt/mime_types_linux.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/mime_types_mac.xml b/indra/newview/skins/default/xui/pt/mime_types_mac.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/pt/outfit_accordion_tab.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_active_object_row.xml b/indra/newview/skins/default/xui/pt/panel_active_object_row.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_audio_device.xml b/indra/newview/skins/default/xui/pt/panel_audio_device.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/pt/panel_avatar_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/pt/panel_block_list_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/pt/panel_body_parts_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/pt/panel_bodyparts_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_bottomtray.xml b/indra/newview/skins/default/xui/pt/panel_bottomtray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/pt/panel_bottomtray_lite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_classified_info.xml b/indra/newview/skins/default/xui/pt/panel_classified_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/pt/panel_clothing_list_button_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/pt/panel_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_cof_wearables.xml b/indra/newview/skins/default/xui/pt/panel_cof_wearables.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/pt/panel_deletable_wearable_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/pt/panel_dummy_clothing_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_alpha.xml b/indra/newview/skins/default/xui/pt/panel_edit_alpha.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_classified.xml b/indra/newview/skins/default/xui/pt/panel_edit_classified.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_eyes.xml b/indra/newview/skins/default/xui/pt/panel_edit_eyes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_gloves.xml b/indra/newview/skins/default/xui/pt/panel_edit_gloves.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_hair.xml b/indra/newview/skins/default/xui/pt/panel_edit_hair.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_jacket.xml b/indra/newview/skins/default/xui/pt/panel_edit_jacket.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_pants.xml b/indra/newview/skins/default/xui/pt/panel_edit_pants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_pick.xml b/indra/newview/skins/default/xui/pt/panel_edit_pick.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_profile.xml b/indra/newview/skins/default/xui/pt/panel_edit_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_shape.xml b/indra/newview/skins/default/xui/pt/panel_edit_shape.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_shirt.xml b/indra/newview/skins/default/xui/pt/panel_edit_shirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_shoes.xml b/indra/newview/skins/default/xui/pt/panel_edit_shoes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_skin.xml b/indra/newview/skins/default/xui/pt/panel_edit_skin.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_skirt.xml b/indra/newview/skins/default/xui/pt/panel_edit_skirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_socks.xml b/indra/newview/skins/default/xui/pt/panel_edit_socks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/pt/panel_edit_tattoo.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_underpants.xml b/indra/newview/skins/default/xui/pt/panel_edit_underpants.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml b/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_friends.xml b/indra/newview/skins/default/xui/pt/panel_friends.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_group_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_group_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_group_general.xml b/indra/newview/skins/default/xui/pt/panel_group_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_group_invite.xml b/indra/newview/skins/default/xui/pt/panel_group_invite.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_group_land_money.xml b/indra/newview/skins/default/xui/pt/panel_group_land_money.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_group_list_item.xml b/indra/newview/skins/default/xui/pt/panel_group_list_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_group_notices.xml b/indra/newview/skins/default/xui/pt/panel_group_notices.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_group_notify.xml b/indra/newview/skins/default/xui/pt/panel_group_notify.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_group_roles.xml b/indra/newview/skins/default/xui/pt/panel_group_roles.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_groups.xml b/indra/newview/skins/default/xui/pt/panel_groups.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_inventory_item.xml b/indra/newview/skins/default/xui/pt/panel_inventory_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_landmark_info.xml b/indra/newview/skins/default/xui/pt/panel_landmark_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_landmarks.xml b/indra/newview/skins/default/xui/pt/panel_landmarks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_login.xml b/indra/newview/skins/default/xui/pt/panel_login.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_main_inventory.xml b/indra/newview/skins/default/xui/pt/panel_main_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_me.xml b/indra/newview/skins/default/xui/pt/panel_me.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_media_settings_general.xml b/indra/newview/skins/default/xui/pt/panel_media_settings_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_media_settings_security.xml b/indra/newview/skins/default/xui/pt/panel_media_settings_security.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_my_profile.xml b/indra/newview/skins/default/xui/pt/panel_my_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_navigation_bar.xml b/indra/newview/skins/default/xui/pt/panel_navigation_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_nearby_chat.xml b/indra/newview/skins/default/xui/pt/panel_nearby_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/pt/panel_nearby_chat_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_nearby_media.xml b/indra/newview/skins/default/xui/pt/panel_nearby_media.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_notes.xml b/indra/newview/skins/default/xui/pt/panel_notes.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_online_status.xml b/indra/newview/skins/default/xui/pt/panel_online_status.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_online_status_toast.xml b/indra/newview/skins/default/xui/pt/panel_online_status_toast.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml b/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/pt/panel_outfits_inventory_gear_default.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_list.xml b/indra/newview/skins/default/xui/pt/panel_outfits_list.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_wearing.xml b/indra/newview/skins/default/xui/pt/panel_outfits_wearing.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_people.xml b/indra/newview/skins/default/xui/pt/panel_people.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_pick_info.xml b/indra/newview/skins/default/xui/pt/panel_pick_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_picks.xml b/indra/newview/skins/default/xui/pt/panel_picks.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_place_profile.xml b/indra/newview/skins/default/xui/pt/panel_place_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_places.xml b/indra/newview/skins/default/xui/pt/panel_places.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/pt/panel_preferences_alerts.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_general.xml b/indra/newview/skins/default/xui/pt/panel_preferences_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_setup.xml b/indra/newview/skins/default/xui/pt/panel_preferences_setup.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml b/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/pt/panel_prim_media_controls.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_profile.xml b/indra/newview/skins/default/xui/pt/panel_profile.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_profile_view.xml b/indra/newview/skins/default/xui/pt/panel_profile_view.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_region_covenant.xml b/indra/newview/skins/default/xui/pt/panel_region_covenant.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_region_debug.xml b/indra/newview/skins/default/xui/pt/panel_region_debug.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_region_estate.xml b/indra/newview/skins/default/xui/pt/panel_region_estate.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_region_general.xml b/indra/newview/skins/default/xui/pt/panel_region_general.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_region_general_layout.xml b/indra/newview/skins/default/xui/pt/panel_region_general_layout.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_region_terrain.xml b/indra/newview/skins/default/xui/pt/panel_region_terrain.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_region_texture.xml b/indra/newview/skins/default/xui/pt/panel_region_texture.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_script_ed.xml b/indra/newview/skins/default/xui/pt/panel_script_ed.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/pt/panel_script_limits_my_avatar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/pt/panel_script_limits_region_memory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_scrolling_param.xml b/indra/newview/skins/default/xui/pt/panel_scrolling_param.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_side_tray.xml b/indra/newview/skins/default/xui/pt/panel_side_tray.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/pt/panel_side_tray_tab_caption.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/pt/panel_stand_stop_flying.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_status_bar.xml b/indra/newview/skins/default/xui/pt/panel_status_bar.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_teleport_history.xml b/indra/newview/skins/default/xui/pt/panel_teleport_history.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/pt/panel_teleport_history_item.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_voice_effect.xml b/indra/newview/skins/default/xui/pt/panel_voice_effect.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/panel_world_map.xml b/indra/newview/skins/default/xui/pt/panel_world_map.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/role_actions.xml b/indra/newview/skins/default/xui/pt/role_actions.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/sidepanel_appearance.xml b/indra/newview/skins/default/xui/pt/sidepanel_appearance.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/teleport_strings.xml b/indra/newview/skins/default/xui/pt/teleport_strings.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/default/xui/pt/xui_version.xml b/indra/newview/skins/default/xui/pt/xui_version.xml old mode 100644 new mode 100755 diff --git a/indra/newview/skins/paths.xml b/indra/newview/skins/paths.xml old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llagentaccess_test.cpp b/indra/newview/tests/llagentaccess_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llcapabilitylistener_test.cpp b/indra/newview/tests/llcapabilitylistener_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/lldateutil_test.cpp b/indra/newview/tests/lldateutil_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/lllogininstance_test.cpp b/indra/newview/tests/lllogininstance_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llmediadataclient_test.cpp b/indra/newview/tests/llmediadataclient_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llsecapi_test.cpp b/indra/newview/tests/llsecapi_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llsechandler_basic_test.cpp b/indra/newview/tests/llsechandler_basic_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llslurl_test.cpp b/indra/newview/tests/llslurl_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/lltextureinfo_test.cpp b/indra/newview/tests/lltextureinfo_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/lltextureinfodetails_test.cpp b/indra/newview/tests/lltextureinfodetails_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/lltexturestatsuploader_test.cpp b/indra/newview/tests/lltexturestatsuploader_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llviewerhelputil_test.cpp b/indra/newview/tests/llviewerhelputil_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llviewernetwork_test.cpp b/indra/newview/tests/llviewernetwork_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llworldmap_test.cpp b/indra/newview/tests/llworldmap_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llworldmipmap_test.cpp b/indra/newview/tests/llworldmipmap_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/llxmlrpclistener_test.cpp b/indra/newview/tests/llxmlrpclistener_test.cpp old mode 100644 new mode 100755 diff --git a/indra/newview/tests/test_llxmlrpc_peer.py b/indra/newview/tests/test_llxmlrpc_peer.py old mode 100644 new mode 100755 diff --git a/indra/newview/tr.lproj/language.txt b/indra/newview/tr.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/uk.lproj/language.txt b/indra/newview/uk.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py old mode 100644 new mode 100755 diff --git a/indra/newview/zh-Hans.lproj/language.txt b/indra/newview/zh-Hans.lproj/language.txt old mode 100644 new mode 100755 diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/test/blowfish.1.bin b/indra/test/blowfish.1.bin old mode 100644 new mode 100755 diff --git a/indra/test/blowfish.2.bin b/indra/test/blowfish.2.bin old mode 100644 new mode 100755 diff --git a/indra/test/blowfish.digits.txt b/indra/test/blowfish.digits.txt old mode 100644 new mode 100755 diff --git a/indra/test/debug.h b/indra/test/debug.h old mode 100644 new mode 100755 diff --git a/indra/test/io.cpp b/indra/test/io.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llassetuploadqueue_tut.cpp b/indra/test/llassetuploadqueue_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llblowfish_tut.cpp b/indra/test/llblowfish_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llbuffer_tut.cpp b/indra/test/llbuffer_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/lldatapacker_tut.cpp b/indra/test/lldatapacker_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/lldoubledispatch_tut.cpp b/indra/test/lldoubledispatch_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llevents_tut.cpp b/indra/test/llevents_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llhttpclient_tut.cpp b/indra/test/llhttpclient_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llhttpdate_tut.cpp b/indra/test/llhttpdate_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llhttpnode_tut.cpp b/indra/test/llhttpnode_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/lliohttpserver_tut.cpp b/indra/test/lliohttpserver_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llmessageconfig_tut.cpp b/indra/test/llmessageconfig_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llmessagetemplateparser_tut.cpp b/indra/test/llmessagetemplateparser_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llpermissions_tut.cpp b/indra/test/llpermissions_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llpipeutil.cpp b/indra/test/llpipeutil.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llpipeutil.h b/indra/test/llpipeutil.h old mode 100644 new mode 100755 diff --git a/indra/test/llsaleinfo_tut.cpp b/indra/test/llsaleinfo_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llscriptresource_tut.cpp b/indra/test/llscriptresource_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llsd_new_tut.cpp b/indra/test/llsd_new_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llsdmessagebuilder_tut.cpp b/indra/test/llsdmessagebuilder_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llsdmessagereader_tut.cpp b/indra/test/llsdmessagereader_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llsdtraits.h b/indra/test/llsdtraits.h old mode 100644 new mode 100755 diff --git a/indra/test/llsdutil_tut.cpp b/indra/test/llsdutil_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llservicebuilder_tut.cpp b/indra/test/llservicebuilder_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llstreamtools_tut.cpp b/indra/test/llstreamtools_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/lltemplatemessagebuilder_tut.cpp b/indra/test/lltemplatemessagebuilder_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/lltimestampcache_tut.cpp b/indra/test/lltimestampcache_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/lltranscode_tut.cpp b/indra/test/lltranscode_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/lltut.cpp b/indra/test/lltut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/lltut.h b/indra/test/lltut.h old mode 100644 new mode 100755 diff --git a/indra/test/lluserrelations_tut.cpp b/indra/test/lluserrelations_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/lluuidhashmap_tut.cpp b/indra/test/lluuidhashmap_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/llxorcipher_tut.cpp b/indra/test/llxorcipher_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/message_tut.cpp b/indra/test/message_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/mock_http_client.cpp b/indra/test/mock_http_client.cpp old mode 100644 new mode 100755 diff --git a/indra/test/mock_http_client.h b/indra/test/mock_http_client.h old mode 100644 new mode 100755 diff --git a/indra/test/prim_linkability_tut.cpp b/indra/test/prim_linkability_tut.cpp old mode 100644 new mode 100755 diff --git a/indra/test/test.cpp b/indra/test/test.cpp old mode 100644 new mode 100755 diff --git a/indra/test/test.h b/indra/test/test.h old mode 100644 new mode 100755 diff --git a/indra/test/test_llmanifest.py b/indra/test/test_llmanifest.py old mode 100644 new mode 100755 diff --git a/indra/test_apps/llplugintest/CMakeLists.txt b/indra/test_apps/llplugintest/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/test_apps/llplugintest/bookmarks.txt b/indra/test_apps/llplugintest/bookmarks.txt old mode 100644 new mode 100755 diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp old mode 100644 new mode 100755 diff --git a/indra/test_apps/llplugintest/llmediaplugintest.h b/indra/test_apps/llplugintest/llmediaplugintest.h old mode 100644 new mode 100755 diff --git a/indra/tools/vstool/README.txt b/indra/tools/vstool/README.txt old mode 100644 new mode 100755 diff --git a/indra/tools/vstool/VSTool.csproj b/indra/tools/vstool/VSTool.csproj old mode 100644 new mode 100755 diff --git a/indra/tools/vstool/VSTool.sln b/indra/tools/vstool/VSTool.sln old mode 100644 new mode 100755 diff --git a/indra/tools/vstool/main.cs b/indra/tools/vstool/main.cs old mode 100644 new mode 100755 diff --git a/indra/viewer_components/CMakeLists.txt b/indra/viewer_components/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/viewer_components/login/CMakeLists.txt b/indra/viewer_components/login/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp old mode 100644 new mode 100755 diff --git a/indra/viewer_components/login/lllogin.h b/indra/viewer_components/login/lllogin.h old mode 100644 new mode 100755 diff --git a/indra/viewer_components/login/tests/lllogin_test.cpp b/indra/viewer_components/login/tests/lllogin_test.cpp old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/CMakeLists.txt b/indra/win_crash_logger/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/StdAfx.cpp b/indra/win_crash_logger/StdAfx.cpp old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/StdAfx.h b/indra/win_crash_logger/StdAfx.h old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/ll_icon.ico b/indra/win_crash_logger/ll_icon.ico old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/llcrashloggerwindows.cpp b/indra/win_crash_logger/llcrashloggerwindows.cpp old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/llcrashloggerwindows.h b/indra/win_crash_logger/llcrashloggerwindows.h old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/resource.h b/indra/win_crash_logger/resource.h old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/win_crash_logger.cpp b/indra/win_crash_logger/win_crash_logger.cpp old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/win_crash_logger.h b/indra/win_crash_logger/win_crash_logger.h old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/win_crash_logger.ico b/indra/win_crash_logger/win_crash_logger.ico old mode 100644 new mode 100755 diff --git a/indra/win_crash_logger/win_crash_logger.rc b/indra/win_crash_logger/win_crash_logger.rc old mode 100644 new mode 100755 diff --git a/indra/win_updater/CMakeLists.txt b/indra/win_updater/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/indra/win_updater/updater.cpp b/indra/win_updater/updater.cpp old mode 100644 new mode 100755 diff --git a/install.xml b/install.xml old mode 100644 new mode 100755 diff --git a/scripts/messages/message_template.msg b/scripts/messages/message_template.msg old mode 100644 new mode 100755 diff --git a/scripts/setup-path.py b/scripts/setup-path.py old mode 100644 new mode 100755 diff --git a/scripts/template_verifier.py b/scripts/template_verifier.py old mode 100644 new mode 100755 diff --git a/viewer-hg-convert.shamap b/viewer-hg-convert.shamap old mode 100644 new mode 100755 -- cgit v1.3 From 245842a765c8416fc0e0d5c38d0cb731ed7d5cbf Mon Sep 17 00:00:00 2001 From: Nyx Linden Date: Thu, 23 Sep 2010 11:25:40 -0400 Subject: SH-64 update GLOD on mac updated GLOD again to be searched for in the correct place and updated some cmake configuration to ensure that it is being referred to in the correct places. This appears to finally solve our mac startup crash. --- indra/cmake/Copy3rdPartyLibs.cmake | 3 ++- indra/newview/viewer_manifest.py | 2 ++ install.xml | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 9900a8fb45..76cb0553f3 100755 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -169,7 +169,8 @@ elseif(DARWIN) libaprutil-1.dylib libexpat.0.5.0.dylib libexpat.dylib - libllqtwebkit.dylib + libGLOD.dylib + libllqtwebkit.dylib libndofdev.dylib libexception_handler.dylib ) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 8296c28e80..d6b865c249 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -653,6 +653,7 @@ class DarwinManifest(ViewerManifest): "libaprutil-1.0.3.8.dylib", "libexpat.0.5.0.dylib", "libexception_handler.dylib", + "libGLOD.dylib", ): self.path(os.path.join(libdir, libfile), libfile) @@ -676,6 +677,7 @@ class DarwinManifest(ViewerManifest): "libaprutil-1.0.3.8.dylib", "libexpat.0.5.0.dylib", "libexception_handler.dylib", + "libGLOD.dylib", ): target_lib = os.path.join('../../..', libfile) self.run_command("ln -sf %(target)r %(link)r" % diff --git a/install.xml b/install.xml index f2f4a1b92c..083f3b0467 100755 --- a/install.xml +++ b/install.xml @@ -56,9 +56,9 @@ darwin md5sum - cc3a93782ac74982eb74aa5dbcd923f0 + 590cfe561e5696d2f3e0b6b394c5af47 url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glod-1.0pre4-darwin-20100922.tar.bz2 + http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glod-1.0pre4-darwin-20100923.tar.bz2 linux -- cgit v1.3 From 7f9285979d744ee3591f810928e2ab570baba90e Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Thu, 23 Sep 2010 14:59:03 -0400 Subject: WIP make tcmalloc work on linux (JIRA pending) First pass at integrating the linux version of tcmalloc. Code will be reviewed in a later commit before pushing. --- indra/cmake/Copy3rdPartyLibs.cmake | 2 +- indra/cmake/GooglePerfTools.cmake | 5 ++++- indra/newview/viewer_manifest.py | 1 + install.xml | 7 +++++++ 4 files changed, 13 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 9900a8fb45..915f9c183f 100755 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -235,7 +235,7 @@ elseif(LINUX) libopenjpeg.so libssl.so libstacktrace.so - libtcmalloc.so + libtcmalloc_minimal.so libuuid.so.1 libssl.so.0.9.7 ) diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index dc6d013bf2..5581b3b0e3 100755 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -13,7 +13,10 @@ else (STANDALONE) set(GOOGLE_PERFTOOLS_FOUND "YES") endif (WINDOWS) if (LINUX) - set(TCMALLOC_LIBRARIES tcmalloc) + use_prebuilt_binary(tcmalloc) + set(TCMALLOC_LIBRARIES + debug libtcmalloc_minimal_debug + optimized libtcmalloc_minimal) set(STACKTRACE_LIBRARIES stacktrace) set(PROFILER_LIBRARIES profiler) set(GOOGLE_PERFTOOLS_INCLUDE_DIR diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 8296c28e80..9269c4a85b 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -937,6 +937,7 @@ class Linux_i686Manifest(LinuxManifest): self.path("libalut.so") self.path("libopenal.so", "libopenal.so.1") self.path("libopenal.so", "libvivoxoal.so.1") # vivox's sdk expects this soname + self.path("libtcmalloc_minimal.so", "libtcmalloc_minimal.so") #formerly called google perf tools try: self.path("libkdu.so") pass diff --git a/install.xml b/install.xml index f2f4a1b92c..518d4274b5 100755 --- a/install.xml +++ b/install.xml @@ -640,6 +640,13 @@ bsd packages + linux + + md5sum + 05e42157c7324115f0266b61baf5fa07 + url + http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/tcmalloc-1.6-linux-20100921.tar.bz2 + windows md5sum -- cgit v1.3 From 1ac289bac95db85c90058ed333ff8cb261d93c6f Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Thu, 23 Sep 2010 16:46:02 -0400 Subject: SH-211 FIX update viewer-mesh branch to use new tcmalloc package Finished changes to make viewer-mesh make use of tcmalloc on linux. Almost all changes are juggling cmake config files, to make sure that the package is downloaded, installed, moved at the right times, and linked at the right times. Code reviewed by Seraph --- indra/cmake/Copy3rdPartyLibs.cmake | 1 + indra/cmake/GooglePerfTools.cmake | 4 ++-- indra/newview/CMakeLists.txt | 1 + indra/newview/viewer_manifest.py | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) (limited to 'indra/cmake') diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 915f9c183f..923c0e160e 100755 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -236,6 +236,7 @@ elseif(LINUX) libssl.so libstacktrace.so libtcmalloc_minimal.so + libtcmalloc_minimal.so.0 libuuid.so.1 libssl.so.0.9.7 ) diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake index 5581b3b0e3..048f5a3235 100755 --- a/indra/cmake/GooglePerfTools.cmake +++ b/indra/cmake/GooglePerfTools.cmake @@ -15,8 +15,8 @@ else (STANDALONE) if (LINUX) use_prebuilt_binary(tcmalloc) set(TCMALLOC_LIBRARIES - debug libtcmalloc_minimal_debug - optimized libtcmalloc_minimal) + debug tcmalloc_minimal_debug + optimized tcmalloc_minimal) set(STACKTRACE_LIBRARIES stacktrace) set(PROFILER_LIBRARIES profiler) set(GOOGLE_PERFTOOLS_INCLUDE_DIR diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 0f2d461511..e42f9d64c2 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1676,6 +1676,7 @@ target_link_libraries(${VIEWER_BINARY_NAME} ${CRYPTO_LIBRARIES} ${LLLOGIN_LIBRARIES} ${LLCONVEXDECOMP_LIBRARY} + ${TCMALLOC_LIBRARIES} ) build_version(viewer) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 9269c4a85b..98729986ad 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -938,6 +938,7 @@ class Linux_i686Manifest(LinuxManifest): self.path("libopenal.so", "libopenal.so.1") self.path("libopenal.so", "libvivoxoal.so.1") # vivox's sdk expects this soname self.path("libtcmalloc_minimal.so", "libtcmalloc_minimal.so") #formerly called google perf tools + self.path("libtcmalloc_minimal.so.0", "libtcmalloc_minimal.so.0") #formerly called google perf tools try: self.path("libkdu.so") pass -- cgit v1.3