From 495a402b4acad516dc4359697f73a528282f8226 Mon Sep 17 00:00:00 2001 From: Kyler Eastridge Date: Fri, 12 Apr 2024 10:45:16 -0400 Subject: Make it so that reset skeleton is a networked ViewerEffect --- indra/newview/llviewermenu.cpp | 48 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) (limited to 'indra/newview/llviewermenu.cpp') diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 94efab3f4b..58b9d7a366 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -84,6 +84,7 @@ #include "lltoolface.h" #include "llhints.h" #include "llhudeffecttrail.h" +#include "llhudeffectresetskeleton.h" #include "llhudmanager.h" #include "llimview.h" #include "llinventorybridge.h" @@ -6505,7 +6506,19 @@ class LLAvatarResetSkeleton: public view_listener_t } if(avatar) { - avatar->resetSkeleton(false); + bool owned = false; + if(avatar->isAnimatedObject()) + { + owned = avatar->mOwnerID == gAgent.getID(); + } + else + { + owned = avatar->getID() == gAgent.getID(); + } + LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, owned); + effectp->setSourceObject(gAgentAvatarp); + effectp->setTargetObject((LLViewerObject*)avatar); + effectp->setResetAnimations(false); } return true; } @@ -6532,7 +6545,19 @@ class LLAvatarResetSkeletonAndAnimations : public view_listener_t LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject()); if (avatar) { - avatar->resetSkeleton(true); + bool owned = false; + if(avatar->isAnimatedObject()) + { + owned = avatar->mOwnerID == gAgent.getID(); + } + else + { + owned = avatar->getID() == gAgent.getID(); + } + LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, owned); + effectp->setSourceObject(gAgentAvatarp); + effectp->setTargetObject((LLViewerObject*)avatar); + effectp->setResetAnimations(true); } return true; } @@ -6545,11 +6570,26 @@ class LLAvatarResetSelfSkeletonAndAnimations : public view_listener_t LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject()); if (avatar) { - avatar->resetSkeleton(true); + bool owned = false; + if(avatar->isAnimatedObject()) + { + owned = avatar->mOwnerID == gAgent.getID(); + } + else + { + owned = avatar->getID() == gAgent.getID(); + } + LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, owned); + effectp->setSourceObject(gAgentAvatarp); + effectp->setTargetObject((LLViewerObject*)avatar); + effectp->setResetAnimations(true); } else { - gAgentAvatarp->resetSkeleton(true); + LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); + effectp->setSourceObject(gAgentAvatarp); + effectp->setTargetObject(gAgentAvatarp); + effectp->setResetAnimations(true); } return true; } -- cgit v1.2.3 From 180a2aaacb1c86772c323a6c0d270d332d13c9e5 Mon Sep 17 00:00:00 2001 From: Kyler Eastridge Date: Tue, 16 Apr 2024 13:10:49 -0400 Subject: Remove animesh networked skeleton reset for now --- indra/newview/llviewermenu.cpp | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) (limited to 'indra/newview/llviewermenu.cpp') diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 58b9d7a366..cb2a58d675 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6506,19 +6506,17 @@ class LLAvatarResetSkeleton: public view_listener_t } if(avatar) { - bool owned = false; - if(avatar->isAnimatedObject()) + if(avatar->getID() == gAgent.getID()) { - owned = avatar->mOwnerID == gAgent.getID(); + LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, owned); + effectp->setSourceObject(gAgentAvatarp); + effectp->setTargetObject((LLViewerObject*)avatar); + effectp->setResetAnimations(false); } else { - owned = avatar->getID() == gAgent.getID(); + effectp->setResetAnimations(false); } - LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, owned); - effectp->setSourceObject(gAgentAvatarp); - effectp->setTargetObject((LLViewerObject*)avatar); - effectp->setResetAnimations(false); } return true; } @@ -6545,19 +6543,17 @@ class LLAvatarResetSkeletonAndAnimations : public view_listener_t LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject()); if (avatar) { - bool owned = false; - if(avatar->isAnimatedObject()) + if(avatar->getID() == gAgent.getID()) { - owned = avatar->mOwnerID == gAgent.getID(); + LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); + effectp->setSourceObject(gAgentAvatarp); + effectp->setTargetObject((LLViewerObject*)avatar); + effectp->setResetAnimations(true); } else { - owned = avatar->getID() == gAgent.getID(); + effectp->setResetAnimations(true); } - LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, owned); - effectp->setSourceObject(gAgentAvatarp); - effectp->setTargetObject((LLViewerObject*)avatar); - effectp->setResetAnimations(true); } return true; } @@ -6570,19 +6566,17 @@ class LLAvatarResetSelfSkeletonAndAnimations : public view_listener_t LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject()); if (avatar) { - bool owned = false; - if(avatar->isAnimatedObject()) + if(avatar->getID() == gAgent.getID()) { - owned = avatar->mOwnerID == gAgent.getID(); + LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); + effectp->setSourceObject(gAgentAvatarp); + effectp->setTargetObject((LLViewerObject*)avatar); + effectp->setResetAnimations(true); } else { - owned = avatar->getID() == gAgent.getID(); + effectp->setResetAnimations(true); } - LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, owned); - effectp->setSourceObject(gAgentAvatarp); - effectp->setTargetObject((LLViewerObject*)avatar); - effectp->setResetAnimations(true); } else { -- cgit v1.2.3 From 7723da1398abbd359623cc7138f83409e7b71aa5 Mon Sep 17 00:00:00 2001 From: Kyler Eastridge Date: Tue, 16 Apr 2024 13:47:09 -0400 Subject: Cleaned up code a bit, fixed issue with referencing effectp instead of avatar --- indra/newview/llviewermenu.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'indra/newview/llviewermenu.cpp') diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index cb2a58d675..569e0d6e0c 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6506,16 +6506,16 @@ class LLAvatarResetSkeleton: public view_listener_t } if(avatar) { - if(avatar->getID() == gAgent.getID()) + if(avatar->getID() == gAgentID) { - LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, owned); + LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); effectp->setSourceObject(gAgentAvatarp); effectp->setTargetObject((LLViewerObject*)avatar); effectp->setResetAnimations(false); } else { - effectp->setResetAnimations(false); + avatar->setResetAnimations(false); } } return true; @@ -6543,7 +6543,7 @@ class LLAvatarResetSkeletonAndAnimations : public view_listener_t LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject()); if (avatar) { - if(avatar->getID() == gAgent.getID()) + if(avatar->getID() == gAgentID) { LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); effectp->setSourceObject(gAgentAvatarp); @@ -6552,7 +6552,7 @@ class LLAvatarResetSkeletonAndAnimations : public view_listener_t } else { - effectp->setResetAnimations(true); + avatar->setResetAnimations(true); } } return true; @@ -6566,7 +6566,7 @@ class LLAvatarResetSelfSkeletonAndAnimations : public view_listener_t LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject()); if (avatar) { - if(avatar->getID() == gAgent.getID()) + if(avatar->getID() == gAgentID) { LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); effectp->setSourceObject(gAgentAvatarp); @@ -6575,7 +6575,7 @@ class LLAvatarResetSelfSkeletonAndAnimations : public view_listener_t } else { - effectp->setResetAnimations(true); + avatar->setResetAnimations(true); } } else -- cgit v1.2.3 From 79b560dcfb33f71da04ecc6c1290e39819ecaf11 Mon Sep 17 00:00:00 2001 From: Kyler Eastridge Date: Tue, 16 Apr 2024 14:25:51 -0400 Subject: Fix bad copypasting of code, hopefully for good this time --- indra/newview/llviewermenu.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/llviewermenu.cpp') diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 569e0d6e0c..109710beb3 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -6515,7 +6515,7 @@ class LLAvatarResetSkeleton: public view_listener_t } else { - avatar->setResetAnimations(false); + avatar->resetSkeleton(false); } } return true; @@ -6552,7 +6552,7 @@ class LLAvatarResetSkeletonAndAnimations : public view_listener_t } else { - avatar->setResetAnimations(true); + avatar->resetSkeleton(true); } } return true; @@ -6575,7 +6575,7 @@ class LLAvatarResetSelfSkeletonAndAnimations : public view_listener_t } else { - avatar->setResetAnimations(true); + avatar->resetSkeleton(true); } } else -- cgit v1.2.3