From c26050a1ec9cb5102df0fc34117ea57f3f407ba5 Mon Sep 17 00:00:00 2001 From: CharleyLevenque Date: Mon, 23 Aug 2010 04:13:03 -0400 Subject: [PATCH] Added in Emerald's 'Derender' option on objects and avatars, tidied up avatar, object and self pie menu xml. --- indra/newview/llviewermenu.cpp | 36 +++++++++++++++++++ .../default/xui/en-us/menu_pie_attachment.xml | 4 +++ .../default/xui/en-us/menu_pie_avatar.xml | 7 ++-- .../default/xui/en-us/menu_pie_object.xml | 3 ++ .../skins/default/xui/en-us/menu_pie_self.xml | 28 ++++++++------- 5 files changed, 62 insertions(+), 16 deletions(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 4f1fda058..db0eaf79a 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2030,6 +2030,40 @@ class LLObjectInspect : public view_listener_t } }; +// Derenderizer. Originally by Phox. +class LLObjectDerender : public view_listener_t +{ + bool handleEvent(LLPointer event, const LLSD& userdata) + { + LLViewerObject* slct = LLSelectMgr::getInstance()->getSelection()->getFirstObject(); + if(!slct)return true; + LLUUID id = slct->getID(); + LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection(); + LLUUID root_key; + LLSelectNode* node = selection->getFirstRootNode(); + if(node)root_key = node->getObject()->getID(); + if(root_key.notNull()) + { + id = root_key; + //LLSelectMgr::getInstance()->removeObjectFromSelections(root_key); + } + LLSelectMgr::getInstance()->removeObjectFromSelections(id); + + // ...don't kill the avatar + //if (!(id == gAgentID)) + // Kill 'em all + if (true) + { + LLViewerObject *objectp = gObjectList.findObject(id); + if (objectp) + { + gObjectList.killObject(objectp); + } + } + return true; + } +}; + //--------------------------------------------------------------------------- // Land pie menu @@ -9629,6 +9663,8 @@ void initialize_menus() addMenu(new LLObjectBuy(), "Object.Buy"); addMenu(new LLObjectEdit(), "Object.Edit"); addMenu(new LLObjectInspect(), "Object.Inspect"); + // Visual mute, originally by Phox. + addMenu(new LLObjectDerender(), "Object.DERENDER"); addMenu(new LLObjectEnableOpen(), "Object.EnableOpen"); addMenu(new LLObjectEnableTouch(), "Object.EnableTouch"); diff --git a/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml b/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml index cd0cec71e..5aface602 100644 --- a/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml +++ b/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml @@ -23,6 +23,10 @@ + + + + diff --git a/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml b/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml index 909b133ca..be3c21ac3 100644 --- a/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml +++ b/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml @@ -40,10 +40,6 @@ - - - - diff --git a/indra/newview/skins/default/xui/en-us/menu_pie_object.xml b/indra/newview/skins/default/xui/en-us/menu_pie_object.xml index 64f4fd02a..707941556 100644 --- a/indra/newview/skins/default/xui/en-us/menu_pie_object.xml +++ b/indra/newview/skins/default/xui/en-us/menu_pie_object.xml @@ -71,6 +71,9 @@ + + diff --git a/indra/newview/skins/default/xui/en-us/menu_pie_self.xml b/indra/newview/skins/default/xui/en-us/menu_pie_self.xml index fc4293429..983e4b31d 100644 --- a/indra/newview/skins/default/xui/en-us/menu_pie_self.xml +++ b/indra/newview/skins/default/xui/en-us/menu_pie_self.xml @@ -71,15 +71,22 @@ - - - + + + + + + + + + + @@ -87,7 +94,4 @@ - - -