diff options
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rw-r--r-- | indra/newview/llviewermenu.cpp | 134 |
1 files changed, 32 insertions, 102 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index a6b05381bb..73fda339b5 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -90,7 +90,6 @@ #include "lltoolface.h" #include "llhints.h" #include "llhudeffecttrail.h" -#include "llhudeffectresetskeleton.h" #include "llhudmanager.h" #include "llimview.h" #include "llinventorybridge.h" @@ -296,6 +295,7 @@ void force_error_coroutine_crash(); void force_error_coroprocedure_crash(); void force_error_work_queue_crash(); void force_error_thread_crash(); +void force_exception_thread_crash(); void handle_force_delete(); void print_object_info(); @@ -1853,6 +1853,7 @@ class LLAdvancedAppearanceToXML : public view_listener_t { bool handleEvent(const LLSD& userdata) { + std::string emptyname; LLViewerObject *obj = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); LLVOAvatar *avatar = NULL; if (obj) @@ -1879,7 +1880,7 @@ class LLAdvancedAppearanceToXML : public view_listener_t } if (avatar) { - avatar->dumpArchetypeXML(LLStringUtil::null); + avatar->dumpArchetypeXML(emptyname); } return true; } @@ -2676,6 +2677,15 @@ class LLAdvancedForceErrorThreadCrash : public view_listener_t } }; +class LLAdvancedForceExceptionThreadCrash : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + force_exception_thread_crash(); + return true; + } +}; + class LLAdvancedForceErrorDisconnectViewer : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -4506,7 +4516,7 @@ void handle_object_sit(LLViewerObject* object, const LLVector3& offset) { // get object selection offset - if (object && object->getPCode() == LL_PCODE_VOLUME) + if (gAgent.isAllowedToSit() && object && object->getPCode() == LL_PCODE_VOLUME) { gMessageSystem->newMessageFast(_PREHASH_AgentRequestSit); @@ -5647,38 +5657,6 @@ class LLToolsEnablePathfindingRebakeRegion : public view_listener_t } }; -class LLToolsCheckSelectionLODMode : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - std::string param = userdata.asString(); - static LLCachedControl<S32> debug_selection_lods(gSavedSettings, "DebugSelectionLODs", 0); - if ("default" == param) - { - return debug_selection_lods() < 0; - } - else if ("high" == param) - { - return debug_selection_lods() == 3; - } - else if ("medium" == param) - { - return debug_selection_lods() == 2; - } - else if ("low" == param) - { - return debug_selection_lods() == 1; - } - else if ("lowest" == param) - { - return debug_selection_lods() == 0; - } - - return false; - } -}; - - // Round the position of all root objects to the grid class LLToolsSnapObjectXY : public view_listener_t { @@ -6705,18 +6683,8 @@ class LLAvatarResetSkeleton : public view_listener_t { if (LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject())) { - if(avatar->getID() == gAgentID) - { - LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); - effectp->setSourceObject(gAgentAvatarp); - effectp->setTargetObject((LLViewerObject*)avatar); - effectp->setResetAnimations(false); - } - else - { avatar->resetSkeleton(false); } - } return true; } }; @@ -6739,18 +6707,8 @@ class LLAvatarResetSkeletonAndAnimations : public view_listener_t { if (LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject())) { - if(avatar->getID() == gAgentID) - { - LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); - effectp->setSourceObject(gAgentAvatarp); - effectp->setTargetObject((LLViewerObject*)avatar); - effectp->setResetAnimations(true); - } - else - { avatar->resetSkeleton(true); } - } return true; } }; @@ -6777,24 +6735,11 @@ class LLAvatarResetSelfSkeletonAndAnimations : public view_listener_t { if (LLVOAvatar* avatar = find_avatar_from_object(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject())) { - if(avatar->getID() == gAgentID) - { - LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); - effectp->setSourceObject(gAgentAvatarp); - effectp->setTargetObject((LLViewerObject*)avatar); - effectp->setResetAnimations(true); - } - else - { - avatar->resetSkeleton(true); - } + avatar->resetSkeleton(true); } else { - LLHUDEffectResetSkeleton* effectp = (LLHUDEffectResetSkeleton*)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_RESET_SKELETON, true); - effectp->setSourceObject(gAgentAvatarp); - effectp->setTargetObject(gAgentAvatarp); - effectp->setResetAnimations(true); + gAgentAvatarp->resetSkeleton(true); } return true; } @@ -7765,6 +7710,7 @@ bool enable_detach(const LLSD&) // Only enable detach if all faces of object are selected if (!object || !object->isAttachment() || + object->isLocked() || !LLSelectMgr::getInstance()->getSelection()->contains(object,SELECT_ALL_TES )) { return false; @@ -8640,36 +8586,6 @@ class LLToolsSelectBySurrounding : public view_listener_t } }; -class LLToolsSelectionLODMode : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - std::string param = userdata.asString(); - if ("default" == param) - { - gSavedSettings.setS32("DebugSelectionLODs", -1); - } - else if ("high" == param) - { - gSavedSettings.setS32("DebugSelectionLODs", 3); - } - else if ("medium" == param) - { - gSavedSettings.setS32("DebugSelectionLODs", 2); - } - else if ("low" == param) - { - gSavedSettings.setS32("DebugSelectionLODs", 1); - } - else if ("lowest" == param) - { - gSavedSettings.setS32("DebugSelectionLODs", 0); - } - - return true; - } -}; - class LLToolsShowHiddenSelection : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -8908,6 +8824,11 @@ void force_error_thread_crash() LLAppViewer::instance()->forceErrorThreadCrash(); } +void force_exception_thread_crash() +{ + LLAppViewer::instance()->forceExceptionThreadCrash(); +} + class LLToolsUseSelectionForGrid : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -9036,6 +8957,13 @@ void handle_report_bug(const LLSD& param) LLWeb::loadURLExternal(url); } +#ifdef LL_DISCORD +void handle_discord_social(const LLSD& param) +{ + LLStartUp::handleDiscordSocial(); +} +#endif + void handle_buy_currency_test() { std::string url = @@ -9904,7 +9832,6 @@ void initialize_menus() view_listener_t::addMenu(new LLToolsSelectInvisibleObjects(), "Tools.SelectInvisibleObjects"); view_listener_t::addMenu(new LLToolsSelectReflectionProbes(), "Tools.SelectReflectionProbes"); view_listener_t::addMenu(new LLToolsSelectBySurrounding(), "Tools.SelectBySurrounding"); - view_listener_t::addMenu(new LLToolsSelectionLODMode(), "Tools.SelectionLODMode"); view_listener_t::addMenu(new LLToolsShowHiddenSelection(), "Tools.ShowHiddenSelection"); view_listener_t::addMenu(new LLToolsShowSelectionLightRadius(), "Tools.ShowSelectionLightRadius"); view_listener_t::addMenu(new LLToolsEditLinkedParts(), "Tools.EditLinkedParts"); @@ -9937,7 +9864,6 @@ void initialize_menus() view_listener_t::addMenu(new LLToolsEnablePathfindingView(), "Tools.EnablePathfindingView"); view_listener_t::addMenu(new LLToolsDoPathfindingRebakeRegion(), "Tools.DoPathfindingRebakeRegion"); view_listener_t::addMenu(new LLToolsEnablePathfindingRebakeRegion(), "Tools.EnablePathfindingRebakeRegion"); - view_listener_t::addMenu(new LLToolsCheckSelectionLODMode(), "Tools.ToolsCheckSelectionLODMode"); // Help menu // most items use the ShowFloater method @@ -10016,6 +9942,9 @@ void initialize_menus() commit.add("Advanced.WebContentTest", boost::bind(&handle_web_content_test, _2)); // this one opens the Web Content floater commit.add("Advanced.ShowURL", boost::bind(&handle_show_url, _2)); commit.add("Advanced.ReportBug", boost::bind(&handle_report_bug, _2)); +#ifdef LL_DISCORD + commit.add("Advanced.DiscordSocial", boost::bind(&handle_discord_social, _2)); +#endif view_listener_t::addMenu(new LLAdvancedBuyCurrencyTest(), "Advanced.BuyCurrencyTest"); view_listener_t::addMenu(new LLAdvancedDumpSelectMgr(), "Advanced.DumpSelectMgr"); view_listener_t::addMenu(new LLAdvancedDumpInventory(), "Advanced.DumpInventory"); @@ -10115,6 +10044,7 @@ void initialize_menus() view_listener_t::addMenu(new LLAdvancedForceErrorCoroprocedureCrash(), "Advanced.ForceErrorCoroprocedureCrash"); view_listener_t::addMenu(new LLAdvancedForceErrorWorkQueueCrash(), "Advanced.ForceErrorWorkQueueCrash"); view_listener_t::addMenu(new LLAdvancedForceErrorThreadCrash(), "Advanced.ForceErrorThreadCrash"); + view_listener_t::addMenu(new LLAdvancedForceExceptionThreadCrash(), "Advanced.ForceExceptionThreadCrash"); view_listener_t::addMenu(new LLAdvancedForceErrorDisconnectViewer(), "Advanced.ForceErrorDisconnectViewer"); // Advanced (toplevel) |