From e27914a57edbd3cd80676c059586e2df7d285366 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Sat, 1 Jun 2013 02:49:21 -0400 Subject: [PATCH] RLVa update --- indra/newview/rlvextensions.cpp | 4 -- indra/newview/rlvhandler.cpp | 81 ++++++++++++++++----------------- indra/newview/rlvhelper.cpp | 18 ++++---- indra/newview/rlvinventory.cpp | 32 ++----------- indra/newview/rlvinventory.h | 4 -- 5 files changed, 52 insertions(+), 87 deletions(-) diff --git a/indra/newview/rlvextensions.cpp b/indra/newview/rlvextensions.cpp index 8489de7ed..aa07dfcd2 100644 --- a/indra/newview/rlvextensions.cpp +++ b/indra/newview/rlvextensions.cpp @@ -495,10 +495,6 @@ bool RlvExtGetSet::findDebugSetting(std::string& strSetting, S16& flags) { LLStringUtil::toLower(strSetting); // Convenience for non-RLV calls - // HACK-RLVa: bad code but it's just a temporary measure to provide a smooth changeover from the old to the new rebranded settings - if ( (strSetting.length() >= 14) && (0 == strSetting.find("restrainedlife")) ) - strSetting = "restrainedlove" + strSetting.substr(14); - std::string strTemp; for (std::map::const_iterator itSetting = m_DbgAllowed.begin(); itSetting != m_DbgAllowed.end(); ++itSetting) { diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 3a3e023be..b9a720981 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -18,9 +18,9 @@ #include "llagent.h" #include "llappearancemgr.h" #include "llappviewer.h" +#include "llgroupactions.h" #include "llhudtext.h" #include "llstartup.h" -#include "llviewermenu.h" #include "llviewermessage.h" #include "llviewerobjectlist.h" #include "llviewerparcelmgr.h" @@ -195,7 +195,7 @@ void RlvHandler::removeCommandHandler(RlvCommandHandler* pCmdHandler) m_CommandHandlers.remove(pCmdHandler); } -// Checked: 2009-10-26 (RLVa-1.1.0a) | Modified: RLVa-1.1.0a +// Checked: 2010-04-07 (RLVa-1.2.0d) | Modified: RLVa-1.1.0a void RlvHandler::clearCommandHandlers() { std::list::const_iterator itHandler = m_CommandHandlers.begin(); @@ -730,7 +730,6 @@ size_t utf8str_strlen(const std::string& utf8) return length; } -// TODO-RLV: works, but more testing won't hurt std::string utf8str_chtruncate(const std::string& utf8, size_t length) { if (0 == length) @@ -1113,7 +1112,7 @@ void RlvHandler::clearState() #define VERIFY_OPTION(x) { if (!(x)) { eRet = RLV_RET_FAILED_OPTION; break; } } #define VERIFY_OPTION_REF(x) { if (!(x)) { eRet = RLV_RET_FAILED_OPTION; break; } fRefCount = true; } -// Checked: 2010-03-03 (RLVa-1.1.3b) | Modified: RLVa-1.2.0a +// Checked: 2010-03-03 (RLVa-1.2.0a) | Modified: RLVa-1.2.0a ERlvCmdRet RlvHandler::processAddRemCommand(const RlvCommand& rlvCmd) { // NOTE: - at this point the command has already been: @@ -1154,8 +1153,8 @@ ERlvCmdRet RlvHandler::processAddRemCommand(const RlvCommand& rlvCmd) VERIFY_OPTION_REF(strOption.empty()); } break; - case RLV_BHVR_ADDOUTFIT: // @addoutfit[:]=n|y - Checked: 2010-08-29 (RLVa-1.1.3b) | Modified: RLVa-1.2.1c - case RLV_BHVR_REMOUTFIT: // @remoutfit[:]=n|y - Checked: 2010-08-29 (RLVa-1.1.3b) | Modified: RLVa-1.2.1c + case RLV_BHVR_ADDOUTFIT: // @addoutfit[:]=n|y - Checked: 2010-08-29 (RLVa-1.2.1c) | Modified: RLVa-1.2.1c + case RLV_BHVR_REMOUTFIT: // @remoutfit[:]=n|y - Checked: 2010-08-29 (RLVa-1.2.1c) | Modified: RLVa-1.2.1c { // If there's an option it should specify a wearable type name (reference count on no option *and* a valid option) RlvCommandOptionGeneric rlvCmdOption(rlvCmd.getOption()); @@ -1244,7 +1243,7 @@ ERlvCmdRet RlvHandler::processAddRemCommand(const RlvCommand& rlvCmd) VERIFY_OPTION_REF(strOption.empty()); } break; - case RLV_BHVR_NOTIFY: // @notify:=add|rem - Checked: 2010-03-03 (RLVa-1.1.3a) | Modified: RLVa-1.2.0a + case RLV_BHVR_NOTIFY: // @notify:=add|rem - Checked: 2010-03-03 (RLVa-1.2.0a) | Modified: RLVa-1.2.0a { // There should be an option that we can successfully parse (if there's an empty option the command is invalid) S32 nChannel; std::string strFilter; @@ -1277,10 +1276,10 @@ ERlvCmdRet RlvHandler::processAddRemCommand(const RlvCommand& rlvCmd) case RLV_BHVR_SHOWLOC: // @showloc=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h case RLV_BHVR_SHOWNAMES: // @shownames=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h case RLV_BHVR_EMOTE: // @emote=n|y - Checked: 2010-03-26 (RLVa-1.2.0b) - case RLV_BHVR_SENDCHAT: // @sendchat=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h - case RLV_BHVR_CHATWHISPER: // @chatwhisper=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h - case RLV_BHVR_CHATNORMAL: // @chatnormal=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h - case RLV_BHVR_CHATSHOUT: // @chatshout=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h + case RLV_BHVR_SENDCHAT: // @sendchat=n|y - Checked: 2010-03-26 (RLVa-1.2.0b) + case RLV_BHVR_CHATWHISPER: // @chatwhisper=n|y - Checked: 2010-03-26 (RLVa-1.2.0b) + case RLV_BHVR_CHATNORMAL: // @chatnormal=n|y - Checked: 2010-03-26 (RLVa-1.2.0b) + case RLV_BHVR_CHATSHOUT: // @chatshout=n|y - Checked: 2010-03-26 (RLVa-1.2.0b) case RLV_BHVR_PERMISSIVE: // @permissive=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h case RLV_BHVR_SHOWINV: // @showinv=n|y - Checked: 2010-03-01 (RLVa-1.2.0a) case RLV_BHVR_SHOWMINIMAP: // @showminimap=n|y - Checked: 2010-02-28 (RLVa-1.2.0a) @@ -1291,12 +1290,12 @@ ERlvCmdRet RlvHandler::processAddRemCommand(const RlvCommand& rlvCmd) case RLV_BHVR_STANDTP: // @standtp=n|y - Checked: 2010-08-29 (RLVa-1.2.1c) case RLV_BHVR_TPLM: // @tplm=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h case RLV_BHVR_TPLOC: // @tploc=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h - case RLV_BHVR_VIEWNOTE: // @viewnote=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h - case RLV_BHVR_VIEWSCRIPT: // @viewscript=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h - case RLV_BHVR_VIEWTEXTURE: // @viewtexture=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h + case RLV_BHVR_VIEWNOTE: // @viewnote=n|y - Checked: 2010-03-27 (RLVa-1.2.0b) + case RLV_BHVR_VIEWSCRIPT: // @viewscript=n|y - Checked: 2010-03-27 (RLVa-1.2.0b) + case RLV_BHVR_VIEWTEXTURE: // @viewtexture=n|y - Checked: 2010-03-27 (RLVa-1.2.0b) case RLV_BHVR_ACCEPTPERMISSION: // @acceptpermission=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h #ifdef RLV_EXTENSION_CMD_ALLOWIDLE - case RLV_BHVR_ALLOWIDLE: // @allowidle=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h + case RLV_BHVR_ALLOWIDLE: // @allowidle=n|y - Checked: 2010-05-03 (RLVa-1.2.0g) | Modified: RLVa-1.1.0h #endif // RLV_EXTENSION_CMD_ALLOWIDLE case RLV_BHVR_REZ: // @rez=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h case RLV_BHVR_FARTOUCH: // @fartouch=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h @@ -1318,8 +1317,8 @@ ERlvCmdRet RlvHandler::processAddRemCommand(const RlvCommand& rlvCmd) VERIFY_OPTION_REF(strOption.empty()); break; // The following block is only valid if there's no option (= restriction) or if it specifies a valid UUID (= behaviour exception) - case RLV_BHVR_RECVCHAT: // @recvchat[:]=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h - case RLV_BHVR_RECVEMOTE: // @recvemote[:]=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h + case RLV_BHVR_RECVCHAT: // @recvchat[:]=n|y - Checked: 2010-03-26 (RLVa-1.2.0b) + case RLV_BHVR_RECVEMOTE: // @recvemote[:]=n|y - Checked: 2010-03-26 (RLVa-1.2.0b) case RLV_BHVR_SENDIM: // @sendim[:]=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h case RLV_BHVR_RECVIM: // @recvim[:]=n|y - Checked: 2009-12-05 (RLVa-1.1.0h) | Modified: RLVa-1.1.0h case RLV_BHVR_STARTIM: // @startim[:]=n|y - Checked: 2011-04-11 (RLVa-1.3.0h) | Added: RLVa-1.3.0h @@ -1401,7 +1400,7 @@ ERlvCmdRet RlvHandler::processAddRemCommand(const RlvCommand& rlvCmd) return eRet; } -// Checked: 2010-03-03 (RLVa-1.1.3b) | Modified: RLVa-1.2.0a +// Checked: 2010-03-03 (RLVa-1.2.0a) | Modified: RLVa-1.2.0a ERlvCmdRet RlvHandler::onAddRemAttach(const RlvCommand& rlvCmd, bool& fRefCount) { RLV_ASSERT( (RLV_TYPE_ADD == rlvCmd.getParamType()) || (RLV_TYPE_REMOVE == rlvCmd.getParamType()) ); @@ -1436,7 +1435,7 @@ ERlvCmdRet RlvHandler::onAddRemAttach(const RlvCommand& rlvCmd, bool& fRefCount) return RLV_RET_SUCCESS; } -// Checked: 2010-02-28 (RLVa-1.1.3b) | Modified: RLVa-1.2.0a +// Checked: 2010-02-28 (RLVa-1.2.0a) | Modified: RLVa-1.2.0a ERlvCmdRet RlvHandler::onAddRemDetach(const RlvCommand& rlvCmd, bool& fRefCount) { RLV_ASSERT( (RLV_TYPE_ADD == rlvCmd.getParamType()) || (RLV_TYPE_REMOVE == rlvCmd.getParamType()) ); @@ -1610,7 +1609,10 @@ ERlvCmdRet RlvHandler::processForceCommand(const RlvCommand& rlvCmd) const { F32 nValue = (rlvCmdOption.m_nPelvisToFoot - gAgentAvatarp->getPelvisToFoot()) * rlvCmdOption.m_nPelvisToFootDeltaMult; nValue += rlvCmdOption.m_nPelvisToFootOffset; - gSavedSettings.setF32(RLV_SETTING_AVATAROFFSET_Z, llclamp(nValue, -1.0f, 1.0f)); + if (!gAgentAvatarp->isUsingServerBakes()) + gSavedSettings.setF32(RLV_SETTING_AVATAROFFSET_Z, llclamp(nValue, -1.0f, 1.0f)); + else + eRet = RLV_RET_FAILED_DISABLED; } } break; @@ -1667,7 +1669,7 @@ ERlvCmdRet RlvHandler::processForceCommand(const RlvCommand& rlvCmd) const return eRet; } -// Checked: 2010-08-29 (RLVa-1.1.3b) | Modified: RLVa-1.2.1c +// Checked: 2010-08-29 (RLVa-1.2.1c) | Modified: RLVa-1.2.1c ERlvCmdRet RlvHandler::onForceRemAttach(const RlvCommand& rlvCmd) const { RLV_ASSERT(RLV_TYPE_FORCE == rlvCmd.getParamType()); @@ -1702,7 +1704,7 @@ ERlvCmdRet RlvHandler::onForceRemAttach(const RlvCommand& rlvCmd) const return RLV_RET_FAILED_OPTION; } -// Checked: 2010-08-29 (RLVa-1.1.3b) | Modified: RLVa-1.2.1c +// Checked: 2010-08-29 (RLVa-1.2.1c) | Modified: RLVa-1.2.1c ERlvCmdRet RlvHandler::onForceRemOutfit(const RlvCommand& rlvCmd) const { RlvCommandOptionGeneric rlvCmdOption(rlvCmd.getOption()); @@ -1741,14 +1743,7 @@ ERlvCmdRet RlvHandler::onForceGroup(const RlvCommand& rlvCmd) const if (fValid) { m_idAgentGroup = idGroup; - - LLMessageSystem* msg = gMessageSystem; - msg->newMessageFast(_PREHASH_ActivateGroup); - msg->nextBlockFast(_PREHASH_AgentData); - msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); - msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); - msg->addUUIDFast(_PREHASH_GroupID, idGroup); - gAgent.sendReliableMessage(); + LLGroupActions::activate(idGroup); } return (fValid) ? RLV_RET_SUCCESS : RLV_RET_FAILED_OPTION; @@ -1833,7 +1828,7 @@ void RlvHandler::onForceWearCallback(const uuid_vec_t& idItems, ERlvBehaviour eB // Command handlers (RLV_TYPE_REPLY) // -// Checked: 2009-11-26 (RLVa-1.1.0f) | Modified: RLVa-1.1.0f +// Checked: 2010-04-07 (RLVa-1.2.0d) | Modified: RLVa-1.1.0f ERlvCmdRet RlvHandler::processReplyCommand(const RlvCommand& rlvCmd) const { RLV_ASSERT(RLV_TYPE_REPLY == rlvCmd.getParamType()); @@ -1846,12 +1841,12 @@ ERlvCmdRet RlvHandler::processReplyCommand(const RlvCommand& rlvCmd) const ERlvCmdRet eRet = RLV_RET_SUCCESS; std::string strReply; switch (rlvCmd.getBehaviourType()) { - case RLV_BHVR_VERSION: // @version= - Checked: 2010-03-27 (RLVa-1.2.0b) - case RLV_BHVR_VERSIONNEW: // @versionnew= - Checked: 2010-03-27 (RLVa-1.2.0b) | Added: RLVa-1.2.0b + case RLV_BHVR_VERSION: // @version= - Checked: 2010-03-27 (RLVa-1.4.0a) + case RLV_BHVR_VERSIONNEW: // @versionnew= - Checked: 2010-03-27 (RLVa-1.4.0a) | Added: RLVa-1.2.0b // NOTE: RLV will respond even if there's an option strReply = RlvStrings::getVersion(RLV_BHVR_VERSION == rlvCmd.getBehaviourType()); break; - case RLV_BHVR_VERSIONNUM: // @versionnum= - Checked: 2009-11-26 (RLVa-1.1.0f) | Added: RLVa-1.0.4b + case RLV_BHVR_VERSIONNUM: // @versionnum= - Checked: 2010-03-27 (RLVa-1.4.0a) | Added: RLVa-1.0.4b // NOTE: RLV will respond even if there's an option strReply = RlvStrings::getVersionNum(); break; @@ -1888,7 +1883,7 @@ ERlvCmdRet RlvHandler::processReplyCommand(const RlvCommand& rlvCmd) const case RLV_BHVR_GETINV: // @getinv[:]= eRet = onGetInv(rlvCmd, strReply); break; - case RLV_BHVR_GETINVWORN: // @getinvworn[:path]= + case RLV_BHVR_GETINVWORN: // @getinvworn[:]= eRet = onGetInvWorn(rlvCmd, strReply); break; case RLV_BHVR_GETGROUP: // @getgroup= - Checked: 2011-03-28 (RLVa-1.4.1a) | Added: RLVa-1.3.0f @@ -1917,7 +1912,7 @@ ERlvCmdRet RlvHandler::processReplyCommand(const RlvCommand& rlvCmd) const } break; #endif // RLV_EXTENSION_CMD_GETCOMMAND - case RLV_BHVR_GETSTATUS: // @getstatus[: