summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-10-22 19:25:17 +0800
committerErik Kundiman <erik@megapahit.org>2024-10-22 19:25:17 +0800
commit10a6a3e24b3be3d0110a189375b271cdf60e3430 (patch)
treebd52e4860148bae9991bff744c2b375667a1344e /indra/newview
parentbd496c3ec5672197c7dc142af458e6bf2374a4c7 (diff)
parent47c33b4bd2acae02b0fc3a1dc68148e84962dae4 (diff)
Merge branch 'main' into 2024.09-ExtraFPS
Diffstat (limited to 'indra/newview')
-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
10 files changed, 69 insertions, 11 deletions
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>