From 145ae5aeea43080bbf14de66d3d3886e01b8bb34 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Wed, 23 Jul 2025 22:31:19 +0800 Subject: Reorganise shared macros closer to "attach" code and reindent the appearance manager functions to call to match how they will be placed on the combining macro. --- indra/newview/rlvhandler.cpp | 52 ++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 8eee7e36a6..2cc06b3bbc 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -307,6 +307,30 @@ ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) return ECmdRet::Succeeded; } +template<> template<> +ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) +{ + std::vector optionList; + auto option = rlvCmd.getOption(); + if (option.empty()) + { + LLAppearanceMgr::instance().removeAllClothesFromAvatar(); + } + else + { + LLWearableType::EType type = LLWearableType::getInstance()->typeNameToType(option); + if (type >= LLWearableType::WT_SHAPE + && type < LLWearableType::WT_COUNT + && (gAgentWearables.getWearableCount(type) > 0)) + { + U32 wearable_index = gAgentWearables.getWearableCount(type) - 1; + LLUUID item_id = gAgentWearables.getWearableItemID(type,wearable_index); + LLAppearanceMgr::instance().removeItemFromAvatar(item_id); + } + } + return ECmdRet::Succeeded; +} + #define RESTRAINED_LOVE_OUTFIT(A) \ auto folderID = gInventory.getRootFolderID();\ LLNameCategoryCollector has_name("#RLV");\ @@ -334,34 +358,10 @@ ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) return ECmdRet::Succeeded; #define RESTRAINED_LOVE_REPLACE \ - LLAppearanceMgr::instance().replaceCurrentOutfit(folderID); + LLAppearanceMgr::instance().replaceCurrentOutfit(folderID); #define RESTRAINED_LOVE_ADD \ - LLAppearanceMgr::instance().addCategoryToCurrentOutfit(folderID); - -template<> template<> -ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) -{ - std::vector optionList; - auto option = rlvCmd.getOption(); - if (option.empty()) - { - LLAppearanceMgr::instance().removeAllClothesFromAvatar(); - } - else - { - LLWearableType::EType type = LLWearableType::getInstance()->typeNameToType(option); - if (type >= LLWearableType::WT_SHAPE - && type < LLWearableType::WT_COUNT - && (gAgentWearables.getWearableCount(type) > 0)) - { - U32 wearable_index = gAgentWearables.getWearableCount(type) - 1; - LLUUID item_id = gAgentWearables.getWearableItemID(type,wearable_index); - LLAppearanceMgr::instance().removeItemFromAvatar(item_id); - } - } - return ECmdRet::Succeeded; -} + LLAppearanceMgr::instance().addCategoryToCurrentOutfit(folderID); template<> template<> ECmdRet ForceHandler::onCommand(const RlvCommand& rlvCmd) -- cgit v1.2.3