summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.gitignore5
-rw-r--r--PKGBUILD14
-rw-r--r--README.md20
-rw-r--r--autobuild.xml12
-rw-r--r--indra/cmake/LLPhysicsExtensions.cmake3
-rw-r--r--indra/cmake/Prebuilt.cmake2
-rw-r--r--indra/llprimitive/CMakeLists.txt4
-rw-r--r--indra/llprimitive/llphysicsextensions/CMakeLists.txt101
-rw-r--r--indra/llprimitive/llphysicsextensions/LLConvexDecompositionStubImpl.cpp143
-rw-r--r--indra/llprimitive/llphysicsextensions/LLConvexDecompositionStubImpl.h92
-rw-r--r--indra/llprimitive/llphysicsextensions/LLPathingLibStubImpl.cpp107
-rw-r--r--indra/llprimitive/llphysicsextensions/LLPathingLibStubImpl.h78
-rw-r--r--indra/llprimitive/llphysicsextensions/LLPhysicsExtensionsStubImpl.cpp49
-rw-r--r--indra/llprimitive/llphysicsextensions/LLPhysicsExtensionsStubImpl.h46
-rw-r--r--indra/llprimitive/llphysicsextensions/llconvexdecomposition.cpp102
-rw-r--r--indra/llprimitive/llphysicsextensions/llconvexdecomposition.h231
-rw-r--r--indra/llprimitive/llphysicsextensions/llpathinglib.cpp110
-rw-r--r--indra/llprimitive/llphysicsextensions/llpathinglib.h187
-rw-r--r--indra/llprimitive/llphysicsextensions/llphysicsextensions.cpp103
-rw-r--r--indra/llprimitive/llphysicsextensions/llphysicsextensions.h59
-rw-r--r--indra/llui/llfocusmgr.cpp6
-rw-r--r--indra/llui/llfocusmgr.h1
-rw-r--r--indra/llui/lllineeditor.cpp49
-rw-r--r--indra/llui/lllineeditor.h2
-rw-r--r--indra/llui/lltexteditor.cpp106
-rw-r--r--indra/llui/lltexteditor.h4
-rw-r--r--indra/llui/llview.cpp19
-rw-r--r--indra/llui/llview.h2
-rw-r--r--indra/llwindow/llwindowcallbacks.cpp4
-rw-r--r--indra/llwindow/llwindowcallbacks.h1
-rw-r--r--indra/newview/CMakeLists.txt9
-rw-r--r--indra/newview/PKGBUILD.in14
-rw-r--r--indra/newview/app_settings/commands.xml7
-rw-r--r--indra/newview/llviewermenu.cpp30
-rw-r--r--indra/newview/llviewerwindow.cpp8
-rw-r--r--indra/newview/llviewerwindow.h1
-rw-r--r--indra/newview/skins/default/textures/textures.xml1
-rw-r--r--indra/newview/skins/default/textures/toolbar_icons/resync_animations.pngbin0 -> 3627 bytes
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml8
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml2
40 files changed, 80 insertions, 1662 deletions
diff --git a/.gitignore b/.gitignore
index cf76d037e4..c4b559f016 100755
--- a/.gitignore
+++ b/.gitignore
@@ -13,7 +13,6 @@
*.depend
*.stamp
*.rc
-*.pkg.tar.zst
*~
@@ -21,7 +20,6 @@
CMakeCache.txt
cmake_install.cmake
LICENSES
-pkg/
build-darwin-*
build-freebsd-*
build-linux-*
@@ -95,6 +93,3 @@ web/secondlife.com.*
.env
.vscode
-.BUILDINFO
-.MTREE
-.PKGINFO
diff --git a/PKGBUILD b/PKGBUILD
deleted file mode 100644
index 74d9ef460f..0000000000
--- a/PKGBUILD
+++ /dev/null
@@ -1,14 +0,0 @@
-# Maintainer: Erik Kundiman <erik@megapahit.net>
-pkgname=megapahit
-pkgver=7.1.10
-pkgrel=52697
-pkgdesc="A fork of the Second Life viewer"
-arch=('x86_64')
-url="https://megapahit.net"
-license=('LGPL-2.1')
-depends=(freealut apr-util boost-libs fltk glu hunspell libnghttp2 sdl2 uriparser vlc libvorbis)
-
-package() {
- cd "$startdir/build-linux-x86_64"
- make DESTDIR="$pkgdir/" install
-}
diff --git a/README.md b/README.md
index 77e1590d59..918fe41cd7 100644
--- a/README.md
+++ b/README.md
@@ -107,24 +107,24 @@ $ sudo pkg set -yA 1 freealut apr1 fltk hunspell meshoptimizer minizip nanosvg p
$ megapahit
```
-### Gentoo
+### Arch
```
-$ sudo su -
-# emerge cmake pkgconf freealut apr-util boost fltk glm hunspell minizip-ng nanosvg nghttp2 libpcre media-video/pipewire libsdl2 uriparser vlc libvorbis dev-libs/xxhash
-# exit
+$ sudo pacman -S cmake base-devel python freealut apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 pcre libpipewire sdl2 uriparser vlc libvorbis xxhash
$ export LL_BUILD="-O3 -std=c++17 -fPIC -DLL_LINUX=1"
-$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF ../indra
+$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr ../indra
$ make -j`nproc`
+$ makepkg -R
+$ sudo pacman -U megapahit-`cat newview/viewer_version.txt`-1-`uname -m`.pkg.tar.zst
```
-### Arch
+### Gentoo
```
-$ sudo pacman -S cmake base-devel python freealut apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 pcre libpipewire sdl2 uriparser vlc libvorbis xxhash
+$ sudo su -
+# emerge cmake pkgconf freealut apr-util boost fltk glm hunspell minizip-ng nanosvg nghttp2 libpcre media-video/pipewire libsdl2 uriparser vlc libvorbis dev-libs/xxhash
+# exit
$ export LL_BUILD="-O3 -std=c++17 -fPIC -DLL_LINUX=1"
-$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr ../indra
+$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF ../indra
$ make -j`nproc`
-$ cd ..
-$ makepkg -R
```
### Windows
diff --git a/autobuild.xml b/autobuild.xml
index 2bf9e816af..91fc237975 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1566,18 +1566,6 @@
<key>name</key>
<string>darwin64</string>
</map>
- <key>linux64</key>
- <map>
- <key>archive</key>
- <map>
- <key>hash</key>
- <string>711f4ec769e4b5f59ba25ee43c11bcbc</string>
- <key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4724/14846/llphysicsextensions_stub-1.0.504712-linux64-504712.tar.bz2</string>
- </map>
- <key>name</key>
- <string>linux64</string>
- </map>
<key>windows64</key>
<map>
<key>archive</key>
diff --git a/indra/cmake/LLPhysicsExtensions.cmake b/indra/cmake/LLPhysicsExtensions.cmake
index 1cb1679d75..80d243d9f8 100644
--- a/indra/cmake/LLPhysicsExtensions.cmake
+++ b/indra/cmake/LLPhysicsExtensions.cmake
@@ -26,9 +26,6 @@ if (HAVOK)
elseif (HAVOK_TPV)
use_prebuilt_binary(llphysicsextensions_tpv)
target_link_libraries( llphysicsextensions_impl INTERFACE llphysicsextensions_tpv)
-elseif (NOT (USE_AUTOBUILD_3P OR USE_CONAN))
- target_link_libraries( llphysicsextensions_impl INTERFACE llphysicsextensionsstub)
- return ()
else (HAVOK)
use_prebuilt_binary(llphysicsextensions_stub)
set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub)
diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake
index 4034599fde..051435e7cb 100644
--- a/indra/cmake/Prebuilt.cmake
+++ b/indra/cmake/Prebuilt.cmake
@@ -61,7 +61,7 @@ macro (use_prebuilt_binary _binary)
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endif ("${package_url}" STREQUAL "")
- string(REGEX REPLACE "^https://(megapahit.net/downloads|github.com/secondlife|automated-builds-secondlife-com.s3.amazonaws.com/ct2).*/" "" package_name ${package_url})
+ string(REGEX REPLACE "^https?://(megapahit.net/downloads|github.com/secondlife|automated-builds-secondlife-com.s3.amazonaws.com/ct2).*/" "" package_name ${package_url})
file(DOWNLOAD
${package_url}
${CMAKE_BINARY_DIR}/${package_name}
diff --git a/indra/llprimitive/CMakeLists.txt b/indra/llprimitive/CMakeLists.txt
index 2fc40721c8..e9f9e06e1f 100644
--- a/indra/llprimitive/CMakeLists.txt
+++ b/indra/llprimitive/CMakeLists.txt
@@ -92,10 +92,6 @@ target_link_libraries(llprimitive
ll::glm
)
-if (USESYSTEMLIBS)
- add_subdirectory(llphysicsextensions)
-endif ()
-
include(LibraryInstall)
#add unit tests
diff --git a/indra/llprimitive/llphysicsextensions/CMakeLists.txt b/indra/llprimitive/llphysicsextensions/CMakeLists.txt
deleted file mode 100644
index d3fe503e8c..0000000000
--- a/indra/llprimitive/llphysicsextensions/CMakeLists.txt
+++ /dev/null
@@ -1,101 +0,0 @@
-# -*- cmake -*-
-
-project(llphysicsextensions)
-
-include(00-Common)
-include(Variables)
-include(LLCommon)
-include(LLMath)
-
-set(LLPHYSICSEXTENSIONS_LIB_NAME llphysicsextensions)
-
-if (WINDOWS)
- set(LLPHYSICSEXTENSIONS_LIBRARIES ${LLPHYSICSEXTENSIONS_LIB_NAME}.lib)
-else (WINDOWS)
- set(LLPHYSICSEXTENSIONS_LIBRARIES ${LLPHYSICSEXTENSIONS_LIB_NAME}.a)
-endif (WINDOWS)
-
-set(LLPHYSICSEXTENSIONS_INCLUDE_DIR
- ${CMAKE_CURRENT_SOURCE_DIR})
-
-set(LLPHYSICSEXTENSIONS_DEBUG_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug)
-set(LLPHYSICSEXTENSIONS_RELEASE_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release)
-
-#set(LLPHYSICSEXTENSIONS_LIBRARIES_LIBRARIES
-# debug ${LLPHYSICSEXTENSIONS_DEBUG_LIB}
-# optimized ${LLPHYSICSEXTENTIONS_RELEASE_LIB}
-#)
-
-if (LINUX)
- list(INSERT LLPHYSICSEXTENSIONS_LIBRARIES 0 -Wl,--start-group)
- list(APPEND LLPHYSICSEXTENSIONS_LIBRARIES -Wl,--end-group)
-endif (LINUX)
-
-#include_directories(
-# ${CMAKE_SOURCE_DIR}/llphysicsextensions
-# ${LLPHYSICSEXTENSIONS_INCLUDE_DIR}
-# ${LLCOMMON_INCLUDE_DIRS}
-# ${LLMATH_INCLUDE_DIRS}
-# )
-
-set(llphysicsextensions_SOURCE_FILES
- llpathinglib.cpp
- LLPathingLibStubImpl.cpp
- llconvexdecomposition.cpp
- LLConvexDecompositionStubImpl.cpp
- llphysicsextensions.cpp
- LLPhysicsExtensionsStubImpl.cpp
- )
-
-set(llphysicsextensions_HEADER_FILES
-
- ${LLPHYSICSEXTENSIONS_INCLUDE_DIR}/llpathinglib.h
- ${LLPHYSICSEXTENSIONS_INCLUDE_DIR}/llconvexdecomposition.h
- ${LLPHYSICSEXTENSIONS_INCLUDE_DIR}/llphysicsextensions.h
- LLPathingLibStubImpl.h
- LLConvexDecompositionStubImpl.h
- LLPhysicsExtensionsStubImpl.h
- )
-
-if (WINDOWS)
- list(APPEND llphysicsextensions_HEADER_FILES
- ${LLPHYSICSEXTENSIONS_INCLUDE_DIR}/windowsincludes.h)
-endif (WINDOWS)
-
-set_source_files_properties(${llphysicsextensions_HEADER_FILES}
- PROPERTIES HEADER_FILE_ONLY TRUE)
-
-# some of the include files contain compile-time switches based on these
-set_source_files_properties(${llphysicsextensions_SOURCE_FILES}
- PROPERTIES COMPILE_DEFINITIONS "LL_PATHING_LIB_STUB;LL_CONVEX_DECOMP_STUB;LL_PHYSICS_EXTENSIONS_STUB")
-
-list(APPEND llphysicsextensionsstub_SOURCE_FILES ${llphysicsextensions_HEADER_FILES})
-
-add_library(${PROJECT_NAME}stub ${${PROJECT_NAME}_SOURCE_FILES})
-target_include_directories(${PROJECT_NAME}stub INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
-target_link_libraries(${PROJECT_NAME}stub llmath llcommon)
-list(REMOVE_ITEM ${PROJECT_NAME}_HEADER_FILES
- LLPathingLibStubImpl.h
- LLConvexDecompositionStubImpl.h
- LLPhysicsExtensionsStubImpl.h)
-#install(FILES ${${PROJECT_NAME}_HEADER_FILES} DESTINATION include/${PROJECT_NAME})
-if (BUILD_SHARED_LIBS)
- if (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu)
- set(_LIB lib/${ARCH}-linux-gnu)
- elseif (EXISTS /lib64 AND NOT ${LINUX_DISTRO} MATCHES arch)
- set(_LIB lib64)
- else ()
- set(_LIB lib)
- endif ()
- install(TARGETS ${PROJECT_NAME}stub DESTINATION ${_LIB})
-endif ()
-
-if (LINUX)
- IF(CMAKE_BUILD_TYPE MATCHES Release)
- SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/release)
- ENDIF(CMAKE_BUILD_TYPE MATCHES Release)
- IF(CMAKE_BUILD_TYPE MATCHES Debug)
- SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/debug)
- ENDIF(CMAKE_BUILD_TYPE MATCHES Debug)
-
-endif (LINUX)
diff --git a/indra/llprimitive/llphysicsextensions/LLConvexDecompositionStubImpl.cpp b/indra/llprimitive/llphysicsextensions/LLConvexDecompositionStubImpl.cpp
deleted file mode 100644
index b1214a7f31..0000000000
--- a/indra/llprimitive/llphysicsextensions/LLConvexDecompositionStubImpl.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
-* @file LLConvexDecompositionStubImpl.cpp
-* @author falcon@lindenlab.com
-* @brief A stub implementation of LLConvexDecomposition
-*
-* $LicenseInfo:firstyear=2011&license=viewerlgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 20112010, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#include <string.h>
-#include <memory>
-#include "LLConvexDecompositionStubImpl.h"
-
-LLConvexDecomposition* LLConvexDecompositionImpl::getInstance()
-{
- return NULL;
-}
-
-LLCDResult LLConvexDecompositionImpl::initSystem()
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::initThread()
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::quitThread()
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::quitSystem()
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-void LLConvexDecompositionImpl::genDecomposition(int& decomp)
-{
- decomp = -1;
-}
-
-void LLConvexDecompositionImpl::deleteDecomposition(int decomp)
-{
-
-}
-
-void LLConvexDecompositionImpl::bindDecomposition(int decomp)
-{
-
-}
-
-LLCDResult LLConvexDecompositionImpl::setParam(const char* name, float val)
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::setParam(const char* name, bool val)
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::setParam(const char* name, int val)
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::setMeshData( const LLCDMeshData* data, bool vertex_based )
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::registerCallback(int stage, llcdCallbackFunc callback )
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::executeStage(int stage)
-{
- return LLCD_NOT_IMPLEMENTED;
-}
-
-int LLConvexDecompositionImpl::getNumHullsFromStage(int stage)
-{
- return 0;
-}
-
-LLCDResult LLConvexDecompositionImpl::getSingleHull( LLCDHull* hullOut )
-{
- memset( hullOut, 0, sizeof(LLCDHull) );
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::getHullFromStage( int stage, int hull, LLCDHull* hullOut )
-{
- memset( hullOut, 0, sizeof(LLCDHull) );
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::getMeshFromStage( int stage, int hull, LLCDMeshData* meshDataOut )
-{
- memset( meshDataOut, 0, sizeof(LLCDMeshData) );
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::getMeshFromHull( LLCDHull* hullIn, LLCDMeshData* meshOut )
-{
- memset( meshOut, 0, sizeof(LLCDMeshData) );
- return LLCD_NOT_IMPLEMENTED;
-}
-
-LLCDResult LLConvexDecompositionImpl::generateSingleHullMeshFromMesh(LLCDMeshData* meshIn, LLCDMeshData* meshOut)
-{
- memset( meshOut, 0, sizeof(LLCDMeshData) );
- return LLCD_NOT_IMPLEMENTED;
-}
-
-void LLConvexDecompositionImpl::loadMeshData(const char* fileIn, LLCDMeshData** meshDataOut)
-{
- static LLCDMeshData meshData;
- memset( &meshData, 0, sizeof(LLCDMeshData) );
- *meshDataOut = &meshData;
-}
-
diff --git a/indra/llprimitive/llphysicsextensions/LLConvexDecompositionStubImpl.h b/indra/llprimitive/llphysicsextensions/LLConvexDecompositionStubImpl.h
deleted file mode 100644
index 9ae879efb4..0000000000
--- a/indra/llprimitive/llphysicsextensions/LLConvexDecompositionStubImpl.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
-* @file LLConvexDecompositionStubImpl.h
-* @author falcon@lindenlab.com
-* @brief A stub implementation of LLConvexDecomposition
-*
-* $LicenseInfo:firstyear=2011&license=viewerlgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 20112010, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#ifndef LL_CONVEX_DECOMP_UTIL_H
-#define LL_CONVEX_DECOMP_UTIL_H
-
-#include "llconvexdecomposition.h"
-
-class LLConvexDecompositionImpl : public LLConvexDecomposition
-{
- public:
-
- virtual ~LLConvexDecompositionImpl() {}
-
- static LLConvexDecomposition* getInstance();
- static LLCDResult initSystem();
- static LLCDResult initThread();
- static LLCDResult quitThread();
- static LLCDResult quitSystem();
-
- void genDecomposition(int& decomp);
- void deleteDecomposition(int decomp);
- void bindDecomposition(int decomp);
-
- // Sets *paramsOut to the address of the LLCDParam array and returns
- // the length of the array
- int getParameters(const LLCDParam** paramsOut)
- {
- *paramsOut = NULL;
- return 0;
- }
-
- int getStages(const LLCDStageData** stagesOut)
- {
- *stagesOut = NULL;
- return 0;
- }
-
- // Set a parameter by name. Returns false if out of bounds or unsupported parameter
- LLCDResult setParam(const char* name, float val);
- LLCDResult setParam(const char* name, int val);
- LLCDResult setParam(const char* name, bool val);
- LLCDResult setMeshData( const LLCDMeshData* data, bool vertex_based );
- LLCDResult registerCallback(int stage, llcdCallbackFunc callback );
-
- LLCDResult executeStage(int stage);
-
- int getNumHullsFromStage(int stage);
-
- LLCDResult getHullFromStage( int stage, int hull, LLCDHull* hullOut );
- LLCDResult getSingleHull( LLCDHull* hullOut ) ;
-
- // TODO: Implement lock of some kind to disallow this call if data not yet ready
- LLCDResult getMeshFromStage( int stage, int hull, LLCDMeshData* meshDataOut);
- LLCDResult getMeshFromHull( LLCDHull* hullIn, LLCDMeshData* meshOut );
-
- // For visualizing convex hull shapes in the viewer physics shape display
- LLCDResult generateSingleHullMeshFromMesh( LLCDMeshData* meshIn, LLCDMeshData* meshOut);
-
- /// Debug
- void loadMeshData(const char* fileIn, LLCDMeshData** meshDataOut);
-
- private:
- LLConvexDecompositionImpl() {}
-};
-
-#endif //LL_CONVEX_DECOMP_UTIL_H
-
diff --git a/indra/llprimitive/llphysicsextensions/LLPathingLibStubImpl.cpp b/indra/llprimitive/llphysicsextensions/LLPathingLibStubImpl.cpp
deleted file mode 100644
index 8ad13532f2..0000000000
--- a/indra/llprimitive/llphysicsextensions/LLPathingLibStubImpl.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
-* @file LLPathingLibStubImpl.cpp
-* @author prep@lindenlab.com
-* @brief A stubbed implementation of LLPathingLib
-*
-* $LicenseInfo:firstyear=2012&license=viewerlgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 20112010, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#include "llpathinglib.h"
-#include "LLPathingLibStubImpl.h"
-
-#include "llsd.h"
-
-//=============================================================================
-LLPathingLibImpl::LLPathingLibImpl()
-{
-}
-
-LLPathingLibImpl::~LLPathingLibImpl()
-{
-
-}
-
-LLPathingLib* LLPathingLibImpl::getInstance()
-{
- return NULL;
-}
-
-
-LLPathingLib::LLPLResult LLPathingLibImpl::initSystem()
-{
- return LLPL_NOT_IMPLEMENTED;
-}
-
-LLPathingLib::LLPLResult LLPathingLibImpl::quitSystem()
-{
- return LLPL_NOT_IMPLEMENTED;
-}
-
-LLPathingLib::LLPLResult LLPathingLibImpl::extractNavMeshSrcFromLLSD( const LLSD::Binary& dataBlock, int dir )
-{
- return LLPL_NOT_IMPLEMENTED;
-}
-
-void LLPathingLibImpl::processNavMeshData()
-{
-}
-
-LLPathingLibImpl::LLPLResult LLPathingLibImpl::generatePath( const PathingPacket& pathingPacket )
-{
- return LLPL_NOT_IMPLEMENTED;
-}
-
-void LLPathingLibImpl::setNavMeshMaterialType( LLPLCharacterType materialType )
-{
-}
-
-void LLPathingLibImpl::setNavMeshColors( const NavMeshColors& color )
-{
-}
-
-void LLPathingLibImpl::renderNavMesh()
-{
-}
-
-void LLPathingLibImpl::renderNavMeshEdges()
-{
-}
-
-void LLPathingLibImpl::renderNavMeshShapesVBO( U32 shapeRenderFlags )
-{
-}
-
-void LLPathingLibImpl::renderPath()
-{
-}
-
-void LLPathingLibImpl::renderPathBookend( LLRender& gl, LLPathingLib::LLPLPathBookEnd type )
-{
-}
-
-void LLPathingLibImpl::cleanupVBOManager()
-{
-}
-
-void LLPathingLibImpl::cleanupResidual()
-{
-}
diff --git a/indra/llprimitive/llphysicsextensions/LLPathingLibStubImpl.h b/indra/llprimitive/llphysicsextensions/LLPathingLibStubImpl.h
deleted file mode 100644
index 75fdb3fa0f..0000000000
--- a/indra/llprimitive/llphysicsextensions/LLPathingLibStubImpl.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
-* @file LLPathingLibSubImpl.h
-* @author prep@lindenlab.com
-* @brief A stubbed implementation of LLPathingLib
-*
-* $LicenseInfo:firstyear=2012&license=viewerlgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 2012, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#ifndef LL_PATHING_LIB_H
-#define LL_PATHING_LIB_H
-
-#include "llpathinglib.h"
-
-class LLSD;
-
-//=============================================================================
-class LLPathingLibImpl : public LLPathingLib
-{
-public:
- LLPathingLibImpl();
- virtual ~LLPathingLibImpl();
-
- // Obtain a pointer to the actual implementation
- static LLPathingLib* getInstance();
- static LLPathingLib::LLPLResult initSystem();
- static LLPathingLib::LLPLResult quitSystem();
-
- //Extract and store navmesh data from the llsd datablock sent down by the server
- virtual LLPLResult extractNavMeshSrcFromLLSD( const LLSD::Binary& dataBlock, int dir );
- //Stitch any stored navmeshes together
- virtual void processNavMeshData();
-
- //Method used to generate and visualize a path on the viewers navmesh
- virtual LLPLResult generatePath( const PathingPacket& pathingPacket );
-
- //Set the material type for the heatmap type
- virtual void setNavMeshMaterialType( LLPLCharacterType materialType );
- //Set the various navmesh colors
- virtual void setNavMeshColors( const NavMeshColors& color );
-
- //The entry method to rendering the client side navmesh
- virtual void renderNavMesh();
- //The entry method to rendering the client side navmesh edges
- virtual void renderNavMeshEdges();
- //The entry method to render the client navmesh shapes VBO
- virtual void renderNavMeshShapesVBO( U32 shapeRenderFlags );
- //The entry method to render the clients designated path
- virtual void renderPath();
- //The entry method to render the capsule bookends for the clients designated path
- virtual void renderPathBookend( LLRender& gl, LLPathingLib::LLPLPathBookEnd type );
-
- //Method to delete any vbo's that are currently being managed by the pathing library
- virtual void cleanupVBOManager();
- //Method to cleanup any allocations within the implementation
- virtual void cleanupResidual();
-};
-
-#endif //LL_PATHING_LIB_H
-
diff --git a/indra/llprimitive/llphysicsextensions/LLPhysicsExtensionsStubImpl.cpp b/indra/llprimitive/llphysicsextensions/LLPhysicsExtensionsStubImpl.cpp
deleted file mode 100644
index 2c432f94e3..0000000000
--- a/indra/llprimitive/llphysicsextensions/LLPhysicsExtensionsStubImpl.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
-* @file LLPhysicsExtensionsStubImpl.cpp
-* @author prep@lindenlab.com
-* @brief A stubbed implementation of LLPhysicsExtensions
-*
-* $LicenseInfo:firstyear=2012&license=viewerlgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 2012, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#include "llphysicsextensions.h"
-#include "LLPhysicsExtensionsStubImpl.h"
-
-//=============================================================================
-LLPhysicsExtensionsImpl::LLPhysicsExtensionsImpl()
-{
-}
-
-LLPhysicsExtensionsImpl::~LLPhysicsExtensionsImpl()
-{
-}
-
-bool LLPhysicsExtensionsImpl::initSystem()
-{
- return false;
-}
-
-bool LLPhysicsExtensionsImpl::quitSystem()
-{
- return false;
-}
-
diff --git a/indra/llprimitive/llphysicsextensions/LLPhysicsExtensionsStubImpl.h b/indra/llprimitive/llphysicsextensions/LLPhysicsExtensionsStubImpl.h
deleted file mode 100644
index ac14da1ac3..0000000000
--- a/indra/llprimitive/llphysicsextensions/LLPhysicsExtensionsStubImpl.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
-* @file LLPhysicsExtensionsSubImpl.h
-* @author prep@lindenlab.com
-* @brief A stubbed implementation of LLPhysicsExtensions
-*
-* $LicenseInfo:firstyear=2012&license=viewerlgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 2012, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#ifndef LL_PHYSICS_EXTENSIONS_STUB_IMPL_H
-#define LL_PHYSICS_EXTENSIONS_STUB_IMPL_H
-
-#include "llphysicsextensions.h"
-
-//=============================================================================
-class LLPhysicsExtensionsImpl : public LLPhysicsExtensions
-{
- public:
-
- LLPhysicsExtensionsImpl();
- virtual ~LLPhysicsExtensionsImpl();
-
- static bool initSystem();
- static bool quitSystem();
-};
-
-#endif //LL_PHYSICS_EXTENSIONS_STUB_IMPL_H
-
diff --git a/indra/llprimitive/llphysicsextensions/llconvexdecomposition.cpp b/indra/llprimitive/llphysicsextensions/llconvexdecomposition.cpp
deleted file mode 100644
index f7caf7f676..0000000000
--- a/indra/llprimitive/llphysicsextensions/llconvexdecomposition.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
-* @file llconvexdecomposition.cpp
-* @author falcon@lindenlab.com
-* @brief A Havok implementation of LLConvexDecomposition interface
-*
-* $LicenseInfo:firstyear=2011&license=lgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 2011, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#if defined(_WINDOWS)
-# include "windowsincludes.h"
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-#if !defined(LL_CONVEX_DECOMP_STUB)
-# include "LLConvexDecompositionImpl.h"
-#else
-# include "LLConvexDecompositionStubImpl.h"
-#endif
-
-#include "llconvexdecomposition.h"
-
-
-/*static */bool LLConvexDecomposition::s_isInitialized = false;
-
-/*static*/bool LLConvexDecomposition::isFunctional()
-{
-#if !defined(LL_CONVEX_DECOMP_STUB)
- return true;
-#else
- return false;
-#endif
-}
-
-#if !defined(LL_CONVEX_DECOMP_STUB) && defined(HK_COMPILER_CLANG)
- //have to specialize before use so that generalized one not auto gen-d
-HK_SINGLETON_SPECIALIZATION_DECL(LLConvexDecompositionImpl);
-#endif
-
-/*static*/LLConvexDecomposition* LLConvexDecomposition::getInstance()
-{
- if ( !s_isInitialized )
- {
- return NULL;
- }
- else
- {
-#if !defined(LL_CONVEX_DECOMP_STUB)
- return &hkSingleton<LLConvexDecompositionImpl>::getInstance();
-#else
- return LLConvexDecompositionImpl::getInstance();
-#endif
- }
-}
-
-/*static */LLCDResult LLConvexDecomposition::initSystem()
-{
- LLCDResult result = LLConvexDecompositionImpl::initSystem();
- if ( result == LLCD_OK )
- {
- s_isInitialized = true;
- }
- return result;
-}
-
-/*static */LLCDResult LLConvexDecomposition::initThread()
-{
- return LLConvexDecompositionImpl::initThread();
-}
-
-/*static */LLCDResult LLConvexDecomposition::quitThread()
-{
- return LLConvexDecompositionImpl::quitThread();
-}
-
-/*static */LLCDResult LLConvexDecomposition::quitSystem()
-{
- return LLConvexDecompositionImpl::quitSystem();
-}
-
-
diff --git a/indra/llprimitive/llphysicsextensions/llconvexdecomposition.h b/indra/llprimitive/llphysicsextensions/llconvexdecomposition.h
deleted file mode 100644
index 10c6d55315..0000000000
--- a/indra/llprimitive/llphysicsextensions/llconvexdecomposition.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/**
- * @file llconvexdecomposition.cpp
- * @brief LLConvexDecomposition interface definition
- *
- * $LicenseInfo:firstyear=2011&license=lgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2011, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_CONVEX_DECOMPOSITION
-#define LL_CONVEX_DECOMPOSITION
-
-typedef int bool32;
-
-#if defined(_WIN32) || defined(_WIN64)
-#define LLCD_CALL __cdecl
-#else
-#define LLCD_CALL
-#endif
-
-struct LLCDParam
-{
- enum LLCDParamType
- {
- LLCD_INVALID = 0,
- LLCD_INTEGER,
- LLCD_FLOAT,
- LLCD_BOOLEAN,
- LLCD_ENUM
- };
-
- struct LLCDEnumItem
- {
- const char* mName;
- int mValue;
- };
-
- union LLCDValue
- {
- float mFloat;
- int mIntOrEnumValue;
- bool32 mBool;
- };
-
- union LLCDParamDetails
- {
- struct {
- LLCDValue mLow;
- LLCDValue mHigh;
- LLCDValue mDelta;
- } mRange;
-
- struct {
- int mNumEnums;
- LLCDEnumItem* mEnumsArray;
- } mEnumValues;
- };
-
- const char* mName;
- const char* mDescription;
- LLCDParamType mType;
- LLCDParamDetails mDetails;
- LLCDValue mDefault;
- int mStage;
-
- // WARNING: Only the LLConvexDecomposition implementation
- // should change this value
- int mReserved;
-};
-
-struct LLCDStageData
-{
- const char* mName;
- const char* mDescription;
- bool32 mSupportsCallback;
-};
-
-struct LLCDMeshData
-{
- enum IndexType
- {
- INT_16,
- INT_32
- };
-
- const float* mVertexBase;
- int mVertexStrideBytes;
- int mNumVertices;
- const void* mIndexBase;
- IndexType mIndexType;
- int mIndexStrideBytes;
- int mNumTriangles;
-};
-
-struct LLCDHull
-{
- const float* mVertexBase;
- int mVertexStrideBytes;
- int mNumVertices;
-};
-
-enum LLCDResult
-{
- LLCD_OK = 0,
- LLCD_UNKOWN_ERROR,
- LLCD_NULL_PTR,
- LLCD_INVALID_STAGE,
- LLCD_UNKNOWN_PARAM,
- LLCD_BAD_VALUE,
- LLCD_REQUEST_OUT_OF_RANGE,
- LLCD_INVALID_MESH_DATA,
- LLCD_INVALID_HULL_DATA,
- LLCD_STAGE_NOT_READY,
- LLCD_INVALID_THREAD,
- LLCD_NOT_IMPLEMENTED
-};
-
-// This callback will receive a string describing the current subtask being performed
-// as well as a pair of numbers indicating progress. (The values should not be interpreted
-// as a completion percentage as 'current' may be greater than 'final'.)
-// If the callback returns zero, the decomposition will be terminated
-typedef int (LLCD_CALL *llcdCallbackFunc)(const char* description, int current, int final);
-
-class LLConvexDecomposition
-{
-public:
- // Obtain a pointer to the actual implementation
- static LLConvexDecomposition* getInstance();
-
- /// @returns false if this is the stub
- static bool isFunctional();
-
- static LLCDResult initSystem();
- static LLCDResult initThread();
- static LLCDResult quitThread();
- static LLCDResult quitSystem();
-
- // Generate a decomposition object handle
- virtual void genDecomposition(int& decomp) = 0;
- // Delete decomposition object handle
- virtual void deleteDecomposition(int decomp) = 0;
- // Bind given decomposition handle
- // Commands operate on currently bound decomposition
- virtual void bindDecomposition(int decomp) = 0;
-
- // Sets *paramsOut to the address of the LLCDParam array and returns
- // the number of parameters
- virtual int getParameters(const LLCDParam** paramsOut) = 0;
-
-
- // Sets *stagesOut to the address of the LLCDStageData array and returns
- // the number of stages
- virtual int getStages(const LLCDStageData** stagesOut) = 0;
-
-
- // Set a parameter by name. Pass enum values as integers.
- virtual LLCDResult setParam(const char* name, float val) = 0;
- virtual LLCDResult setParam(const char* name, int val) = 0;
- virtual LLCDResult setParam(const char* name, bool val) = 0;
-
-
- // Set incoming mesh data. Data is copied to local buffers and will
- // persist until the next setMeshData call
- virtual LLCDResult setMeshData( const LLCDMeshData* data, bool vertex_based ) = 0;
-
-
- // Register a callback to be called periodically during the specified stage
- // See the typedef above for more information
- virtual LLCDResult registerCallback( int stage, llcdCallbackFunc callback ) = 0;
-
-
- // Execute the specified decomposition stage
- virtual LLCDResult executeStage(int stage) = 0;
- virtual LLCDResult buildSingleHull() = 0 ;
-
-
- // Gets the number of hulls generated by the specified decompositions stage
- virtual int getNumHullsFromStage(int stage) = 0;
-
-
- // Populates hullOut to reference the internal copy of the requested hull
- // The data will persist only until the next executeStage call for that stage.
- virtual LLCDResult getHullFromStage( int stage, int hull, LLCDHull* hullOut ) = 0;
-
- virtual LLCDResult getSingleHull( LLCDHull* hullOut ) = 0 ;
-
-
- // TODO: Implement lock of some kind to disallow this call if data not yet ready
- // Populates the meshDataOut to reference the utility's copy of the mesh geometry
- // for the hull and stage specified.
- // You must copy this data if you want to continue using it after the next executeStage
- // call
- virtual LLCDResult getMeshFromStage( int stage, int hull, LLCDMeshData* meshDataOut) = 0;
-
-
- // Creates a mesh from hullIn and temporarily stores it internally in the utility.
- // The mesh data persists only until the next call to getMeshFromHull
- virtual LLCDResult getMeshFromHull( LLCDHull* hullIn, LLCDMeshData* meshOut ) = 0;
-
- // Takes meshIn, generates a single convex hull from it, converts that to a mesh
- // stored internally, and populates meshOut to reference the internally stored data.
- // The data is persistent only until the next call to generateSingleHullMeshFromMesh
- virtual LLCDResult generateSingleHullMeshFromMesh( LLCDMeshData* meshIn, LLCDMeshData* meshOut) = 0;
-
- //
- /// Debug
- virtual void loadMeshData(const char* fileIn, LLCDMeshData** meshDataOut) = 0;
-
-private:
- static bool s_isInitialized;
-};
-
-#endif //LL_CONVEX_DECOMPOSITION
-
diff --git a/indra/llprimitive/llphysicsextensions/llpathinglib.cpp b/indra/llprimitive/llphysicsextensions/llpathinglib.cpp
deleted file mode 100644
index 1a6017c4b8..0000000000
--- a/indra/llprimitive/llphysicsextensions/llpathinglib.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
-* @file llpathinglib.cpp
-* @author prep@lindenlab.com
-* @brief LLPathingLib core creation methods
-*
-* $LicenseInfo:firstyear=2012&license=lgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 2011, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#if defined(_WINDOWS)
-# include "windowsincludes.h"
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-
-#if !defined(LL_PATHING_LIB_STUB)
-# include "LLPathingLibImpl.h"
-#else
-# include "LLPathingLibStubImpl.h"
-#endif
-
-#include "llpathinglib.h"
-
-//disable the undefined symbol optimization
-//#pragma warning (disable : 4221)
-
-//=============================================================================
-
-/*static */bool LLPathingLib::s_isInitialized = false;
-
-//=============================================================================
-
-
-/*static*/bool LLPathingLib::isFunctional()
-{
-#if !defined(LL_PATHING_LIB_STUB)
- return true;
-#else
- return false;
-#endif
-}
-
-#if !defined(LL_PATHING_LIB_STUB) && defined(HK_COMPILER_CLANG)
- //have to specialize before use so that generalized one not auto gen-d
-HK_SINGLETON_SPECIALIZATION_DECL(LLPathingLibImpl);
-#endif
-
-/*static*/LLPathingLib* LLPathingLib::getInstance()
-{
- if ( !s_isInitialized )
- {
- return NULL;
- }
- else
- {
-#if !defined(LL_PATHING_LIB_STUB)
- return &hkSingleton<LLPathingLibImpl>::getInstance();
-#else
- return LLPathingLibImpl::getInstance();
-#endif
- }
-}
-
-//=============================================================================
-
-/*static */LLPathingLib::LLPLResult LLPathingLib::initSystem()
-{
- if ( LLPathingLibImpl::initSystem() == LLPL_OK )
- {
- s_isInitialized = true;
- return LLPL_OK;
- }
- return LLPL_UNKOWN_ERROR;
-}
-//=============================================================================
-/*static */LLPathingLib::LLPLResult LLPathingLib::quitSystem()
-{
- LLPLResult quitResult = LLPL_UNKOWN_ERROR;
-
- if (s_isInitialized)
- {
- quitResult = LLPathingLibImpl::quitSystem();
- s_isInitialized = false;
- }
-
- return quitResult;
-}
-//=============================================================================
-
diff --git a/indra/llprimitive/llphysicsextensions/llpathinglib.h b/indra/llprimitive/llphysicsextensions/llpathinglib.h
deleted file mode 100644
index c8c7410797..0000000000
--- a/indra/llprimitive/llphysicsextensions/llpathinglib.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/**
- * @file llpathinglib.cpp
- * @author prep@lindenlab.com
- * @brief LLPathingLib interface definition
- *
- * $LicenseInfo:firstyear=2012&license=lgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2011, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_PATHING_LIBRARY
-#define LL_PATHING_LIBRARY
-
-#include "llpreprocessor.h"
-#include "llsd.h"
-#include "v3dmath.h"
-#include "v4math.h"
-
-#include "v4color.h"
-#include "v4coloru.h"
-#include "llphysicsextensions.h"
-
-typedef int bool32;
-
-#if defined(_WIN32) || defined(_WIN64)
-#define LLCD_CALL __cdecl
-#else
-#define LLCD_CALL
-#endif
-
-class LLRender;
-
-//=============================================================================
-class LLPathingLib
-{
-
-public:
- enum LLShapeType
- {
- LLST_WalkableObjects = 0,
- LLST_ObstacleObjects,
- LLST_MaterialPhantoms,
- LLST_ExclusionPhantoms,
- LLST_MaxShapeTypes = LLST_ExclusionPhantoms+1,
- LLST_None = LLST_MaxShapeTypes+2,
- LLST_SimpleBox = LLST_None+1,
- LLST_SimpleCapsule = LLST_SimpleBox+1,
- };
-
- enum LLShapeTypeFlag
- {
- LLSTB_WalkableObjects = 0x1 << 1,
- LLSTB_ObstacleObjects = 0x1 << 2,
- LLSTB_MaterialPhantoms = 0x1 << 3,
- LLSTB_ExclusionPhantoms = 0x1 << 4,
- LLSTB_None = 0x1 << 5
- };
-
- enum LLPLPathBookEnd
- {
- LLPL_START = 0,
- LLPL_END,
- };
-
- enum LLPLResult
- {
- LLPL_OK = 0,
- LLPL_NOTSET,
- LLPL_ERROR,
- LLPL_NO_NAVMESH,
- LLPL_UNKOWN_ERROR,
- LLPL_NO_PATH,
- LLPL_PATH_GENERATED_OK,
- LLPL_NOT_IMPLEMENTED,
- };
-
- enum LLPLCharacterType
- {
- LLPL_CHARACTER_TYPE_A = 4,
- LLPL_CHARACTER_TYPE_B = 3,
- LLPL_CHARACTER_TYPE_C = 2,
- LLPL_CHARACTER_TYPE_D = 1,
- LLPL_CHARACTER_TYPE_NONE = 0
- };
-
- struct PathingPacket
- {
- PathingPacket() : mHasPointA(false), mHasPointB(false), mCharacterWidth(0.0f), mCharacterType(LLPL_CHARACTER_TYPE_NONE) {}
- bool mHasPointA;
- LLVector3 mStartPointA;
- LLVector3 mEndPointA;
- bool mHasPointB;
- LLVector3 mStartPointB;
- LLVector3 mEndPointB;
- F32 mCharacterWidth;
- LLPLCharacterType mCharacterType;
- };
-
- struct NavMeshColors
- {
- LLColor4U mWalkable;
- LLColor4U mObstacle;
- LLColor4U mMaterial;
- LLColor4U mExclusion;
- LLColor4U mConnectedEdge;
- LLColor4U mBoundaryEdge;
- LLColor4 mHeatColorBase;
- LLColor4 mHeatColorMax;
- LLColor4U mFaceColor;
- LLColor4U mStarValid;
- LLColor4U mStarInvalid;
- LLColor4U mTestPath;
- LLColor4U mWaterColor;
- };
-
-public:
- //Ctor
- LLPathingLib() {}
- virtual ~LLPathingLib() {}
-
- /// @returns false if this is the stub
- static bool isFunctional();
-
- // Obtain a pointer to the actual implementation
- static LLPathingLib* getInstance();
- static LLPathingLib::LLPLResult initSystem();
- static LLPathingLib::LLPLResult quitSystem();
-
- //Extract and store navmesh data from the llsd datablock sent down by the server
- virtual LLPLResult extractNavMeshSrcFromLLSD( const LLSD::Binary& dataBlock, int dir ) = 0;
- //Stitch any stored navmeshes together
- virtual void processNavMeshData( ) = 0;
-
- //Method used to generate and visualize a path on the viewers navmesh
- virtual LLPLResult generatePath( const PathingPacket& pathingPacket ) = 0;
-
- //Set the material type for the heatmap type
- virtual void setNavMeshMaterialType( LLPLCharacterType materialType ) = 0;
- //Set the various navmesh colors
- virtual void setNavMeshColors( const NavMeshColors& color ) = 0;
-
- //The entry method to rendering the client side navmesh
- virtual void renderNavMesh() = 0;
- //The entry method to rendering the client side navmesh edges
- virtual void renderNavMeshEdges() = 0;
- //The entry method to render the client navmesh shapes VBO
- virtual void renderNavMeshShapesVBO( U32 shapeRenderFlags ) = 0;
- //The entry method to render the clients designated path
- virtual void renderPath() = 0;
- //The entry method to render the capsule bookends for the clients designated path
- virtual void renderPathBookend( LLRender& gl, LLPathingLib::LLPLPathBookEnd type ) = 0;
- //Renders all of the generated simple shapes (using their default transforms)
- virtual void renderSimpleShapes( LLRender& gl, F32 regionsWaterHeight ) = 0;
-
- //Method called from second life to create a capsule from properties of a character
- virtual void createPhysicsCapsuleRep( F32 length, F32 radius, BOOL horizontal, const LLUUID& id ) = 0;
- //Removes any cached physics capsule using a list of cached uuids
- virtual void cleanupPhysicsCapsuleRepResiduals() = 0;
- //Renders a selected uuids physics rep
- virtual void renderSimpleShapeCapsuleID( LLRender& gl, const LLUUID& id, const LLVector3& pos, const LLQuaternion& rot ) = 0;
-
- //Method to delete any vbo's that are currently being managed by the pathing library
- virtual void cleanupVBOManager( ) = 0;
- //Method to cleanup any allocations within the implementation
- virtual void cleanupResidual( ) = 0;
-private:
- static bool s_isInitialized;
-};
-
-#endif //LL_PATHING_LIBRARY
diff --git a/indra/llprimitive/llphysicsextensions/llphysicsextensions.cpp b/indra/llprimitive/llphysicsextensions/llphysicsextensions.cpp
deleted file mode 100644
index 9bb4522a23..0000000000
--- a/indra/llprimitive/llphysicsextensions/llphysicsextensions.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
-* @file llphysicsextensions.cpp
-* @author nyx@lindenlab.com
-* @brief LLPhysicsExtensions core initialization methods
-*
-* $LicenseInfo:firstyear=2012&license=lgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 2011, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#if defined(_WINDOWS)
-# include "windowsincludes.h"
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-
-#include "llphysicsextensions.h"
-
-#if !defined(LL_PHYSICS_EXTENSIONS_STUB)
-# include "LLPhysicsExtensionsImpl.h"
-#else
-# include "LLPhysicsExtensionsStubImpl.h"
-#endif
-
-
-//disable the undefined symbol optimization
-//#pragma warning (disable : 4221)
-
-//=============================================================================
-
-/*static */bool LLPhysicsExtensions::s_isInitialized = false;
-
-
-/*static*/bool LLPhysicsExtensions::isFunctional()
-{
-#if !defined(LL_PHYSICS_EXTENSIONS_STUB)
- return true;
-#else
- return false;
-#endif
-}
-
-//=============================================================================
-
-#if !defined(LL_PHYSICS_EXTENSIONS_STUB) && defined(HK_COMPILER_CLANG)
- //have to specialize before use so that generalized one not auto gen-d
-HK_SINGLETON_SPECIALIZATION_DECL(LLPhysicsExtensionsImpl);
-#endif
-
-/*static*/LLPhysicsExtensions* LLPhysicsExtensions::getInstance()
-{
- if ( !s_isInitialized )
- {
- return NULL;
- }
- else
- {
-#if !defined(LL_PHYSICS_EXTENSIONS_STUB)
- return &hkSingleton<LLPhysicsExtensionsImpl>::getInstance();
-#else
- return LLPhysicsExtensionsImpl::getInstance();
-#endif
- }
-}
-
-//=============================================================================
-
-/*static */bool LLPhysicsExtensions::initSystem()
-{
- bool result = LLPhysicsExtensionsImpl::initSystem();
- if ( result )
- {
- s_isInitialized = true;
- }
- return result;
-}
-//=============================================================================
-/*static */bool LLPhysicsExtensions::quitSystem()
-{
- return LLPhysicsExtensionsImpl::quitSystem();
-}
-//=============================================================================
-
diff --git a/indra/llprimitive/llphysicsextensions/llphysicsextensions.h b/indra/llprimitive/llphysicsextensions/llphysicsextensions.h
deleted file mode 100644
index be479f5d8a..0000000000
--- a/indra/llprimitive/llphysicsextensions/llphysicsextensions.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
-* @file llphysicsextensions.h
-* @author nyx@lindenlab.com
-* @brief LLPhysicsExtensions core shared initialization
-* routines
-*
-* $LicenseInfo:firstyear=2012&license=lgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 2011, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#ifndef LL_PHYSICS_EXTENSIONS
-#define LL_PHYSICS_EXTENSIONS
-
-#include "llpreprocessor.h"
-#include "llsd.h"
-#include "v3dmath.h"
-
-#define LLPHYSICSEXTENSIONS_VERSION "1.0"
-
-typedef int bool32;
-
-class LLPhysicsExtensions
-{
-
-public:
- // Obtain a pointer to the actual implementation
- static LLPhysicsExtensions* getInstance();
-
- /// @returns false if this is the stub
- static bool isFunctional();
-
- static bool initSystem();
- static bool quitSystem();
-
-private:
- static bool s_isInitialized;
-};
-
-#endif //LL_PATHING_LIBRARY
-
-
diff --git a/indra/llui/llfocusmgr.cpp b/indra/llui/llfocusmgr.cpp
index 4f3d2328aa..0d7c98294f 100644
--- a/indra/llui/llfocusmgr.cpp
+++ b/indra/llui/llfocusmgr.cpp
@@ -59,12 +59,6 @@ bool LLFocusableElement::handleUnicodeChar(llwchar uni_char, bool called_from_pa
}
// virtual
-bool LLFocusableElement::handleUnicodeString(char *uni_str, bool editing, bool called_from_parent)
-{
- return FALSE;
-}
-
-// virtual
bool LLFocusableElement::wantsKeyUpKeyDown() const
{
return false;
diff --git a/indra/llui/llfocusmgr.h b/indra/llui/llfocusmgr.h
index 1ca6f50354..1fa0ac137e 100644
--- a/indra/llui/llfocusmgr.h
+++ b/indra/llui/llfocusmgr.h
@@ -59,7 +59,6 @@ public:
virtual bool handleKey(KEY key, MASK mask, bool called_from_parent);
virtual bool handleKeyUp(KEY key, MASK mask, bool called_from_parent);
virtual bool handleUnicodeChar(llwchar uni_char, bool called_from_parent);
- virtual bool handleUnicodeString(char *uni_str, bool editing, bool called_from_parent);
/**
* If true this LLFocusableElement wants to receive KEYUP and KEYDOWN messages
diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp
index 1f2aed48cc..66b274c33f 100644
--- a/indra/llui/lllineeditor.cpp
+++ b/indra/llui/lllineeditor.cpp
@@ -1050,25 +1050,6 @@ void LLLineEditor::addChar(const llwchar uni_char)
getWindow()->hideCursorUntilMouseMove();
}
-void LLLineEditor::addString(char *s, bool editing)
-{
- if (hasSelection())
- deleteSelection();
- else if (LL_KIM_OVERWRITE == gKeyboard->getInsertMode()) {
- if (!prevalidateInput(mText.getWString()
- .substr(getCursor(), 1)))
- return;
- mText.erase(getCursor(), 1);
- } else if (editing) {
- mText.clear();
- setCursor(0);
- }
- mText.insert(getCursor(), utf8str_to_wstring(s));
- if (editing) setCursor(strlen(s));
- else setCursor(getCursor() + 1);
- getWindow()->hideCursorUntilMouseMove();
-}
-
// Extends the selection box to the new cursor position
void LLLineEditor::extendSelection( S32 new_cursor_pos )
{
@@ -1739,36 +1720,6 @@ bool LLLineEditor::handleUnicodeCharHere(llwchar uni_char)
return handled;
}
-bool LLLineEditor::handleUnicodeStringHere(char *uni_str, bool editing)
-{
- auto handled = FALSE;
-
- if ((gFocusMgr.getKeyboardFocus() == this)
- && getVisible() && !mReadOnly) {
- handled = TRUE;
- LLLineEditorRollback rollback(this);
-
- addString(uni_str, editing);
-
- mKeystrokeTimer.reset();
- deselect();
- auto need_to_rollback = mPrevalidator
- && !mPrevalidator.validate(mText.getWString());
-
- if (need_to_rollback) {
- rollback.doRollback(this);
- LLUI::getInstance()->reportBadKeystroke();
- mPrevalidator.showLastErrorUsingTimeout();
- }
-
- if (!need_to_rollback && handled) {
- onKeystroke();
- mSpellCheckTimer.setTimerExpirySec(SPELLCHECK_DELAY);
- }
- }
-
- return handled;
-}
bool LLLineEditor::canDoDelete() const
{
diff --git a/indra/llui/lllineeditor.h b/indra/llui/lllineeditor.h
index 47ff321b54..12fe800acb 100644
--- a/indra/llui/lllineeditor.h
+++ b/indra/llui/lllineeditor.h
@@ -134,7 +134,6 @@ public:
/*virtual*/ bool handleRightMouseDown(S32 x, S32 y, MASK mask) override;
/*virtual*/ bool handleKeyHere(KEY key, MASK mask) override;
/*virtual*/ bool handleUnicodeCharHere(llwchar uni_char) override;
- /*virtual*/ bool handleUnicodeStringHere(char *uni_str, bool editing) override;
/*virtual*/ void onMouseCaptureLost() override;
// LLEditMenuHandler overrides
@@ -302,7 +301,6 @@ public:
void removeChar();
void addChar(const llwchar c);
- void addString(char *s, bool editing);
void setCursorAtLocalPos(S32 local_mouse_x);
S32 findPixelNearestPos(S32 cursor_offset = 0) const;
S32 calcCursorPos(S32 mouse_x);
diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp
index cbbb164cb2..3537c764b9 100644
--- a/indra/llui/lltexteditor.cpp
+++ b/indra/llui/lltexteditor.cpp
@@ -167,50 +167,6 @@ private:
};
///////////////////////////////////////////////////////////////////
-class LLTextEditor::TextCmdAddString : public LLTextBase::TextCmd
-{
-public:
- TextCmdAddString(S32 pos, bool group_with_next, char *str,
- LLTextSegmentPtr segment) :
- TextCmd(pos, group_with_next, segment),
- mWString(utf8str_to_wstring(str)),
- mBlockExtensions(FALSE)
- {
- }
- virtual void blockExtensions()
- {
- mBlockExtensions = TRUE;
- }
- virtual bool canExtend(S32 pos) const
- {
- if (!mSegments.empty()) return FALSE;
-
- return !mBlockExtensions
- && (pos == getPosition() + (S32)mWString.length());
- }
- virtual bool execute(LLTextBase* editor, S32* delta)
- {
- *delta = insert(editor, getPosition(), mWString);
- LLWStringUtil::truncate(mWString, *delta);
- return (*delta != 0);
- }
- virtual S32 undo(LLTextBase* editor)
- {
- remove(editor, getPosition(), mWString.length());
- return getPosition();
- }
- virtual S32 redo(LLTextBase* editor)
- {
- insert(editor, getPosition(), mWString);
- return getPosition() + mWString.length();
- }
-
-private:
- LLWString mWString;
- bool mBlockExtensions;
-};
-
-///////////////////////////////////////////////////////////////////
class LLTextEditor::TextCmdOverwriteChar : public LLTextBase::TextCmd
{
@@ -1208,18 +1164,6 @@ S32 LLTextEditor::addChar(S32 pos, llwchar wc)
return execute(new TextCmdAddChar(pos, false, wc, LLTextSegmentPtr()));
}
-S32 LLTextEditor::addString(S32 pos, char *str)
-{
- if ((wstring_utf8_length(getWText()) + strlen(str))
- > mMaxTextByteLength) {
- make_ui_sound("UISndBadKeystroke");
- return 0;
- }
-
- return execute(new TextCmdAddString(pos, FALSE, str,
- LLTextSegmentPtr()));
-}
-
void LLTextEditor::addChar(llwchar wc)
{
if (!getEnabled())
@@ -1257,38 +1201,6 @@ void LLTextEditor::addChar(llwchar wc)
}
}
-void LLTextEditor::addString(char *str, bool editing)
-{
- if (!getEnabled())
- return;
- if (hasSelection())
- deleteSelection(TRUE);
- else if (LL_KIM_OVERWRITE == gKeyboard->getInsertMode())
- removeChar(mCursorPos);
- else if (editing) {
- clear();
- setCursorPos(0);
- }
-
- setCursorPos(mCursorPos + addString(mCursorPos, str));
-
- if (!mReadOnly && mAutoreplaceCallback != NULL) {
- S32 replacement_start;
- S32 replacement_length;
- LLWString replacement_string;
- S32 new_cursor_pos = mCursorPos;
- mAutoreplaceCallback(replacement_start, replacement_length,
- replacement_string, new_cursor_pos, getWText());
-
- if (replacement_length > 0 || !replacement_string.empty()) {
- remove(replacement_start, replacement_length, true);
- insert(replacement_start, replacement_string, false,
- LLTextSegmentPtr());
- setCursorPos(new_cursor_pos);
- }
- }
-}
-
void LLTextEditor::showEmojiHelper()
{
if (mReadOnly || !mShowEmojiHelper)
@@ -2060,24 +1972,6 @@ bool LLTextEditor::handleUnicodeCharHere(llwchar uni_char)
return handled;
}
-bool LLTextEditor::handleUnicodeStringHere(char *uni_str, bool editing)
-{
- auto handled = FALSE;
-
- if (!mReadOnly) {
- addString(uni_str, editing);
- getWindow()->hideCursorUntilMouseMove();
- handled = TRUE;
- }
-
- if (handled) {
- resetCursorBlink();
- deselect();
- onKeyStroke();
- }
-
- return handled;
-}
// virtual
bool LLTextEditor::canDoDelete() const
diff --git a/indra/llui/lltexteditor.h b/indra/llui/lltexteditor.h
index b46b3b595b..e9e7070414 100644
--- a/indra/llui/lltexteditor.h
+++ b/indra/llui/lltexteditor.h
@@ -105,7 +105,6 @@ public:
virtual bool handleKeyHere(KEY key, MASK mask );
virtual bool handleUnicodeCharHere(llwchar uni_char);
- virtual bool handleUnicodeStringHere(char *uni_str, bool editing);
virtual void onMouseCaptureLost();
@@ -250,8 +249,6 @@ protected:
// Undoable operations
void addChar(llwchar c); // at mCursorPos
S32 addChar(S32 pos, llwchar wc);
- void addString(char *s, bool editing);
- S32 addString(S32 pos, char *str);
void addLineBreakChar(bool group_together = false);
S32 overwriteChar(S32 pos, llwchar wc);
void removeChar();
@@ -315,7 +312,6 @@ private:
// Concrete TextCmd sub-classes used by the LLTextEditor base class
class TextCmdInsert;
class TextCmdAddChar;
- class TextCmdAddString;
class TextCmdOverwriteChar;
class TextCmdRemove;
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index f2a1e16aad..7d6c937b85 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -1080,31 +1080,12 @@ bool LLView::handleUnicodeChar(llwchar uni_char, bool called_from_parent)
return handled;
}
-bool LLView::handleUnicodeString(char *uni_str, bool editing, bool called_from_parent)
-{
- auto handled = FALSE;
-
- if (getVisible() && getEnabled() && !handled) {
- handled = handleUnicodeStringHere(uni_str, editing);
- if (handled && LLView::sDebugKeys)
- LL_INFOS() << "Unicode key handled by " << getName() << LL_ENDL;
- }
-
- if (!handled && !called_from_parent && mParentView)
- handled = mParentView->handleUnicodeString(uni_str, editing, FALSE);
-
- return handled;
-}
bool LLView::handleUnicodeCharHere(llwchar uni_char )
{
return false;
}
-bool LLView::handleUnicodeStringHere(char *uni_str, bool editing)
-{
- return FALSE;
-}
bool LLView::handleDragAndDrop(S32 x, S32 y, MASK mask, bool drop,
EDragAndDropType cargo_type, void* cargo_data,
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index 876bfafaa3..710ec3d05e 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -385,7 +385,6 @@ public:
/* virtual */ bool handleKey(KEY key, MASK mask, bool called_from_parent);
/* virtual */ bool handleKeyUp(KEY key, MASK mask, bool called_from_parent);
/* virtual */ bool handleUnicodeChar(llwchar uni_char, bool called_from_parent);
- /* virtual */ bool handleUnicodeString(char *uni_str, bool editing, bool called_from_parent);
virtual bool handleDragAndDrop(S32 x, S32 y, MASK mask, bool drop,
EDragAndDropType cargo_type,
@@ -519,7 +518,6 @@ public:
virtual bool handleKeyHere(KEY key, MASK mask);
virtual bool handleKeyUpHere(KEY key, MASK mask);
virtual bool handleUnicodeCharHere(llwchar uni_char);
- virtual bool handleUnicodeStringHere(char *uni_str, bool editing);
virtual void handleReshape(const LLRect& rect, bool by_user);
virtual void dirtyRect();
diff --git a/indra/llwindow/llwindowcallbacks.cpp b/indra/llwindow/llwindowcallbacks.cpp
index 624ecd5030..c160382c17 100644
--- a/indra/llwindow/llwindowcallbacks.cpp
+++ b/indra/llwindow/llwindowcallbacks.cpp
@@ -52,10 +52,6 @@ bool LLWindowCallbacks::handleUnicodeChar(llwchar uni_char, MASK mask)
return false;
}
-bool LLWindowCallbacks::handleUnicodeString(char *uni_str, bool editing)
-{
- return FALSE;
-}
bool LLWindowCallbacks::handleMouseDown(LLWindow *window, const LLCoordGL pos, MASK mask)
{
diff --git a/indra/llwindow/llwindowcallbacks.h b/indra/llwindow/llwindowcallbacks.h
index 74660e1705..63b585231f 100644
--- a/indra/llwindow/llwindowcallbacks.h
+++ b/indra/llwindow/llwindowcallbacks.h
@@ -37,7 +37,6 @@ public:
virtual bool handleTranslatedKeyUp(KEY key, MASK mask);
virtual void handleScanKey(KEY key, bool key_down, bool key_up, bool key_level);
virtual bool handleUnicodeChar(llwchar uni_char, MASK mask);
- virtual bool handleUnicodeString(char *uni_str, bool editing);
virtual bool handleMouseDown(LLWindow *window, LLCoordGL pos, MASK mask);
virtual bool handleMouseUp(LLWindow *window, LLCoordGL pos, MASK mask);
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 5099e72f6e..e14ed53c07 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -58,7 +58,7 @@ if (ENABLE_MEDIA_PLUGINS)
include(CEFPlugin)
endif (ENABLE_MEDIA_PLUGINS)
-if (NOT (USESYSTEMLIBS OR HAVOK_TPV))
+if (NOT HAVOK_TPV)
# When using HAVOK_TPV, the library is precompiled, so no need for this
# Stub and probably havok lib itself is a hack, autobuild loads a 3p that really is a source tarball
@@ -79,7 +79,7 @@ if (NOT (USESYSTEMLIBS OR HAVOK_TPV))
target_compile_options( llphysicsextensions PRIVATE -Wno-unused-local-typedef)
endif (DARWIN)
endif()
-endif (NOT (USESYSTEMLIBS OR HAVOK_TPV))
+endif (NOT HAVOK_TPV)
set(viewer_SOURCE_FILES
gltfscenemanager.cpp
@@ -2125,6 +2125,11 @@ if (LINUX)
"libapr-util1-0, libboost_fiber1_85_0, libboost_program_options1_85_0, libboost_regex1_85_0, libboost_thread1_85_0, expat, libfltk1_3, libGLU1, libhunspell-1_7-0, libnghttp2-14, libSDL2-2_0-0, liburiparser1, libvlc5, vlc-codecs, libvorbis0"
CACHE STRING "RPM package requirements.")
endif (${LINUX_DISTRO} MATCHES fedora)
+ elseif (${LINUX_DISTRO} MATCHES arch)
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/PKGBUILD.in
+ ${CMAKE_BINARY_DIR}/PKGBUILD
+ )
endif (${LINUX_DISTRO} MATCHES debian OR ${LINUX_DISTRO} MATCHES ubuntu)
endif (PACKAGE)
else (USESYSTEMLIBS)
diff --git a/indra/newview/PKGBUILD.in b/indra/newview/PKGBUILD.in
new file mode 100644
index 0000000000..b2a02318f2
--- /dev/null
+++ b/indra/newview/PKGBUILD.in
@@ -0,0 +1,14 @@
+# Maintainer: $ENV{USER}@${VIEWER_PACKAGE_DOMAIN_NAME}
+pkgname=${VIEWER_BINARY_NAME}
+pkgver=${VIEWER_VERSION_MAJOR}.${VIEWER_VERSION_MINOR}.${VIEWER_VERSION_PATCH}.${VIEWER_VERSION_REVISION}
+pkgrel=1
+pkgdesc="${VIEWER_PACKAGE_COMMENT}"
+arch=('${CMAKE_SYSTEM_PROCESSOR}')
+url="https://${VIEWER_PACKAGE_DOMAIN_NAME}"
+license=('LGPL-2.1')
+depends=(freealut apr-util boost-libs fltk glu hunspell libnghttp2 sdl2 uriparser vlc libvorbis)
+
+package() {
+ cd "$startdir"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml
index f2ab740646..635e5e40f5 100644
--- a/indra/newview/app_settings/commands.xml
+++ b/indra/newview/app_settings/commands.xml
@@ -303,4 +303,11 @@
execute_function="Inventory.OpenFavoriteFolder"
is_running_function="Inventory.IsFavoriteFolderOpen"
/>
+ <command name="resync_animations"
+ available_in_toybox="true"
+ icon="Command_Resync_Animations"
+ label_ref="Command_ResyncAnimations_Label"
+ tooltip_ref="Command_ResyncAnimations_Tooltip"
+ execute_function="Tools.ResyncAnimations"
+ />
</commands>
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index c1607eb13f..cbc615b01a 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -6610,6 +6610,35 @@ class LLAvatarToggleSearch : public view_listener_t
}
};
+// <FS:CR> Resync Animations
+class FSToolsResyncAnimations : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ for (S32 i = 0; i < gObjectList.getNumObjects(); i++)
+ {
+ LLViewerObject* object = gObjectList.getObject(i);
+ if (object &&
+ object->isAvatar())
+ {
+ LLVOAvatar* avatarp = (LLVOAvatar*)object;
+ if (avatarp)
+ {
+ for (LLVOAvatar::AnimIterator anim_it = avatarp->mPlayingAnimations.begin();
+ anim_it != avatarp->mPlayingAnimations.end();
+ anim_it++)
+ {
+ avatarp->stopMotion(anim_it->first, true);
+ avatarp->startMotion(anim_it->first);
+ }
+ }
+ }
+ }
+ return true;
+ }
+};
+// </FS:CR> Resync Animations
+
class LLAvatarResetSkeleton : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@@ -10024,6 +10053,7 @@ void initialize_menus()
view_listener_t::addMenu(new LLAvatarToggleMyProfile(), "Avatar.ToggleMyProfile");
view_listener_t::addMenu(new LLAvatarTogglePicks(), "Avatar.TogglePicks");
view_listener_t::addMenu(new LLAvatarToggleSearch(), "Avatar.ToggleSearch");
+ view_listener_t::addMenu(new FSToolsResyncAnimations(), "Tools.ResyncAnimations"); // <FS:CR> Resync Animations
view_listener_t::addMenu(new LLAvatarResetSkeleton(), "Avatar.ResetSkeleton");
view_listener_t::addMenu(new LLAvatarEnableResetSkeleton(), "Avatar.EnableResetSkeleton");
view_listener_t::addMenu(new LLAvatarResetSkeletonAndAnimations(), "Avatar.ResetSkeletonAndAnimations");
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 6ea5a47e80..2a21eeeb53 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -3152,14 +3152,6 @@ bool LLViewerWindow::handleUnicodeChar(llwchar uni_char, MASK mask)
return false;
}
-bool LLViewerWindow::handleUnicodeString(char *uni_str, bool editing)
-{
- auto keyboard_focus = gFocusMgr.getKeyboardFocus();
- if (keyboard_focus)
- keyboard_focus->handleUnicodeString(uni_str, editing, FALSE);
-
- return TRUE;
-}
void LLViewerWindow::handleScrollWheel(S32 clicks)
{
diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h
index acf9485eca..1b995ea650 100644
--- a/indra/newview/llviewerwindow.h
+++ b/indra/newview/llviewerwindow.h
@@ -194,7 +194,6 @@ public:
/*virtual*/ bool handleTranslatedKeyUp(KEY key, MASK mask);
/*virtual*/ void handleScanKey(KEY key, bool key_down, bool key_up, bool key_level);
/*virtual*/ bool handleUnicodeChar(llwchar uni_char, MASK mask); // NOT going to handle extended
- /*virtual*/ bool handleUnicodeString(char *uni_str, bool editing);
/*virtual*/ bool handleMouseDown(LLWindow *window, LLCoordGL pos, MASK mask);
/*virtual*/ bool handleMouseUp(LLWindow *window, LLCoordGL pos, MASK mask);
/*virtual*/ bool handleCloseRequest(LLWindow *window);
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 4763396d50..f824816183 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -163,6 +163,7 @@ with the same filename but different name
<texture name="Command_View_Icon" file_name="toolbar_icons/view.png" preload="true" />
<texture name="Command_Voice_Icon" file_name="toolbar_icons/nearbyvoice.png" preload="true" />
<texture name="Command_FavoriteFolder_Icon" file_name="toolbar_icons/favorite_folder.png" preload="true" />
+ <texture name="Command_Resync_Animations" file_name="toolbar_icons/resync_animations.png" preload="true" />
<texture name="Caret_Bottom_Icon" file_name="toolbar_icons/caret_bottom.png" preload="true" scale.left="1" scale.top="23" scale.right="15" scale.bottom="1" />
<texture name="Caret_Right_Icon" file_name="toolbar_icons/caret_right.png" preload="true" scale.left="5" scale.top="15" scale.right="28" scale.bottom="1" />
<texture name="Caret_Left_Icon" file_name="toolbar_icons/caret_left.png" preload="true" scale.left="1" scale.top="15" scale.right="23" scale.bottom="1" />
diff --git a/indra/newview/skins/default/textures/toolbar_icons/resync_animations.png b/indra/newview/skins/default/textures/toolbar_icons/resync_animations.png
new file mode 100644
index 0000000000..dc9ee9c428
--- /dev/null
+++ b/indra/newview/skins/default/textures/toolbar_icons/resync_animations.png
Binary files differ
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 53650d69b8..977b225960 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -647,6 +647,14 @@
name="World"
tear_off="true">
<menu_item_call
+ label="Resync Animations"
+ name="Resync Animations"
+ shortcut="control|S">
+ <menu_item_call.on_click
+ function="Tools.ResyncAnimations" />
+ </menu_item_call>
+ <menu_item_separator/>
+ <menu_item_call
label="Landmark This Place"
name="Create Landmark Here">
<menu_item_call.on_click
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 25779ca2c6..ad68bd8d81 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -4213,6 +4213,7 @@ name="Command_360_Capture_Label">360 snapshot</string>
<string name="Command_View_Label">Camera controls</string>
<string name="Command_Voice_Label">Voice settings</string>
<string name="Command_FavoriteFolder_Label">Favorite folder</string>
+ <string name="Command_ResyncAnimations_Label">Resync animations</string>
<string
name="Command_360_Capture_Tooltip">Capture a 360 equirectangular image</string>
@@ -4247,6 +4248,7 @@ name="Command_360_Capture_Tooltip">Capture a 360 equirectangular image</string>
<string name="Command_View_Tooltip">Changing camera angle</string>
<string name="Command_Voice_Tooltip">Volume controls for calls and people near you in world</string>
<string name="Command_FavoriteFolder_Tooltip">Open your favorite inventory folder</string>
+ <string name="Command_ResyncAnimations_Tooltip">Synchronizes avatar animations</string>
<string name="Toolbar_Bottom_Tooltip">currently in your bottom toolbar</string>
<string name="Toolbar_Left_Tooltip" >currently in your left toolbar</string>