Merged with RLVa-1.3.1b tip

--HG--
branch : RLVa
meow-7.2.2
Kitty Barnett 2011-06-07 12:15:00 +02:00
commit 8f8d3488a3
5 changed files with 58 additions and 54 deletions

View File

@ -1798,55 +1798,55 @@ LLUUID LLAgentWearables::computeBakedTextureHash(LLVOAvatarDefines::EBakedTextur
// User has picked "remove from avatar" from a menu.
// static
void LLAgentWearables::userRemoveWearable(const LLWearableType::EType &type, const U32 &index)
{
if (!(type==LLWearableType::WT_SHAPE || type==LLWearableType::WT_SKIN || type==LLWearableType::WT_HAIR || type==LLWearableType::WT_EYES)) //&&
//!((!gAgent.isTeen()) && (type==LLWearableType::WT_UNDERPANTS || type==LLWearableType::WT_UNDERSHIRT)))
{
gAgentWearables.removeWearable(type,false,index);
}
}
//void LLAgentWearables::userRemoveWearable(const LLWearableType::EType &type, const U32 &index)
//{
// if (!(type==LLWearableType::WT_SHAPE || type==LLWearableType::WT_SKIN || type==LLWearableType::WT_HAIR || type==LLWearableType::WT_EYES)) //&&
// //!((!gAgent.isTeen()) && (type==LLWearableType::WT_UNDERPANTS || type==LLWearableType::WT_UNDERSHIRT)))
// {
// gAgentWearables.removeWearable(type,false,index);
// }
//}
//static
void LLAgentWearables::userRemoveWearablesOfType(const LLWearableType::EType &type)
{
if (!(type==LLWearableType::WT_SHAPE || type==LLWearableType::WT_SKIN || type==LLWearableType::WT_HAIR || type==LLWearableType::WT_EYES)) //&&
//!((!gAgent.isTeen()) && (type==LLWearableType::WT_UNDERPANTS || type==LLWearableType::WT_UNDERSHIRT)))
{
gAgentWearables.removeWearable(type,true,0);
}
}
//void LLAgentWearables::userRemoveWearablesOfType(const LLWearableType::EType &type)
//{
// if (!(type==LLWearableType::WT_SHAPE || type==LLWearableType::WT_SKIN || type==LLWearableType::WT_HAIR || type==LLWearableType::WT_EYES)) //&&
// //!((!gAgent.isTeen()) && (type==LLWearableType::WT_UNDERPANTS || type==LLWearableType::WT_UNDERSHIRT)))
// {
// gAgentWearables.removeWearable(type,true,0);
// }
//}
// static
void LLAgentWearables::userRemoveAllClothes()
{
// We have to do this up front to avoid having to deal with the case of multiple wearables being dirty.
if (gAgentCamera.cameraCustomizeAvatar())
{
// switching to outfit editor should automagically save any currently edited wearable
LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit"));
}
userRemoveAllClothesStep2(TRUE);
}
//void LLAgentWearables::userRemoveAllClothes()
//{
// // We have to do this up front to avoid having to deal with the case of multiple wearables being dirty.
// if (gAgentCamera.cameraCustomizeAvatar())
// {
// // switching to outfit editor should automagically save any currently edited wearable
// LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD().with("type", "edit_outfit"));
// }
// userRemoveAllClothesStep2(TRUE);
//}
// static
void LLAgentWearables::userRemoveAllClothesStep2(BOOL proceed)
{
if (proceed)
{
gAgentWearables.removeWearable(LLWearableType::WT_SHIRT,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_PANTS,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_SHOES,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_SOCKS,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_JACKET,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_GLOVES,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_UNDERSHIRT,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_UNDERPANTS,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_SKIRT,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_ALPHA,true,0);
gAgentWearables.removeWearable(LLWearableType::WT_TATTOO,true,0);
}
}
//void LLAgentWearables::userRemoveAllClothesStep2(BOOL proceed)
//{
// if (proceed)
// {
// gAgentWearables.removeWearable(LLWearableType::WT_SHIRT,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_PANTS,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_SHOES,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_SOCKS,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_JACKET,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_GLOVES,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_UNDERSHIRT,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_UNDERPANTS,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_SKIRT,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_ALPHA,true,0);
// gAgentWearables.removeWearable(LLWearableType::WT_TATTOO,true,0);
// }
//}
// Combines userRemoveAllAttachments() and userAttachMultipleAttachments() logic to
// get attachments into desired state with minimal number of adds/removes.

View File

@ -172,7 +172,7 @@ private:
void removeWearableFinal(const LLWearableType::EType type, bool do_remove_all /*= false*/, U32 index /*= 0*/);
protected:
static bool onRemoveWearableDialog(const LLSD& notification, const LLSD& response);
static void userRemoveAllClothesStep2(BOOL proceed); // userdata is NULL
// static void userRemoveAllClothesStep2(BOOL proceed); // userdata is NULL
//--------------------------------------------------------------------
// Server Communication
@ -216,9 +216,9 @@ public:
// Static UI hooks
//--------------------------------------------------------------------
public:
static void userRemoveWearable(const LLWearableType::EType &type, const U32 &index);
static void userRemoveWearablesOfType(const LLWearableType::EType &type);
static void userRemoveAllClothes();
// static void userRemoveWearable(const LLWearableType::EType &type, const U32 &index);
// static void userRemoveWearablesOfType(const LLWearableType::EType &type);
// static void userRemoveAllClothes();
typedef std::vector<LLViewerObject*> llvo_vec_t;

View File

@ -2879,6 +2879,10 @@ void LLAppearanceMgr::removeItemFromAvatar(const LLUUID& id_to_remove)
LLAppearanceMgr::instance().removeCOFItemLinks(item_to_remove->getLinkedUUID(), false);
gInventory.notifyObservers();
// [RLVa:KB] - Checked: 2011-06-07 (RLVa-1.3.1b) | Added: RLVa-1.3.1b
RlvBehaviourNotifyHandler::onTakeOff(pWearable->getType(), true);
// [/RLVa:KB]
}
}
}

View File

@ -188,17 +188,17 @@ enum ERlvBehaviour {
RLV_BHVR_ATTACHOVER, // "attachover"
RLV_BHVR_ATTACHTHIS, // "attachthis"
RLV_BHVR_ATTACHTHISOVER, // "attachthisover"
RLV_BHVR_ATTACHTHISEXCEPT, // "attachthisexcept"
RLV_BHVR_ATTACHTHISEXCEPT, // "attachthis_except"
RLV_BHVR_DETACHTHIS, // "detachthis"
RLV_BHVR_DETACHTHISEXCEPT, // "detachthisexcept"
RLV_BHVR_DETACHTHISEXCEPT, // "detachthis_except"
RLV_BHVR_ATTACHALL, // "attachall"
RLV_BHVR_ATTACHALLOVER, // "attachallover"
RLV_BHVR_DETACHALL, // "detachall"
RLV_BHVR_ATTACHALLTHIS, // "attachallthis"
RLV_BHVR_ATTACHALLTHISEXCEPT, // "attachallthisexcept"
RLV_BHVR_ATTACHALLTHISEXCEPT, // "attachallthis_except"
RLV_BHVR_ATTACHALLTHISOVER, // "attachallthisover"
RLV_BHVR_DETACHALLTHIS, // "detachallthis"
RLV_BHVR_DETACHALLTHISEXCEPT, // "detachallthisexcept"
RLV_BHVR_DETACHALLTHISEXCEPT, // "detachallthis_except"
RLV_BHVR_ADJUSTHEIGHT, // "adjustheight"
RLV_BHVR_TPTO, // "tpto"
RLV_BHVR_VERSION, // "version"

View File

@ -167,9 +167,9 @@ void RlvCommand::initLookupTable()
"viewnote", "viewscript", "viewtexture", "acceptpermission", "accepttp", "allowidle", "edit", "editobj", "rez", "fartouch",
"interact", "touchthis", "touchattach", "touchattachself", "touchattachother", "touchhud", "touchworld", "touchall",
"touchme", "fly", "setgroup", "unsit", "sit", "sittp", "standtp", "setdebug", "setenv", "alwaysrun", "temprun", "detachme",
"attachover", "attachthis", "attachthisover", "attachthisexcept", "detachthis", "detachthisexcept", "attachall",
"attachallover", "detachall", "attachallthis", "attachallthisexcept", "attachallthisover", "detachallthis",
"detachallthisexcept", "adjustheight", "tpto", "version", "versionnew", "versionnum", "getattach", "getattachnames",
"attachover", "attachthis", "attachthisover", "attachthis_except", "detachthis", "detachthis_except", "attachall",
"attachallover", "detachall", "attachallthis", "attachallthis_except", "attachallthisover", "detachallthis",
"detachallthis_except", "adjustheight", "tpto", "version", "versionnew", "versionnum", "getattach", "getattachnames",
"getaddattachnames", "getremattachnames", "getoutfit", "getoutfitnames", "getaddoutfitnames", "getremoutfitnames",
"findfolder", "findfolders", "getpath", "getpathnew", "getinv", "getinvworn", "getgroup", "getsitid", "getcommand",
"getstatus", "getstatusall"