summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2025-06-30 09:32:20 +0800
committerErik Kundiman <erik@megapahit.org>2025-06-30 09:32:20 +0800
commit6ad39e2c3b3df0ebc54f1056f4659b1a51b62f1e (patch)
treeb5ce5ef5b03d32da0a26065e0e12c47bc76446b8
parente87685aacfd2873f6b41b8036ee63a9ed67e2be2 (diff)
Basic scaffolding to support add/remove commands
plus reorder header inclusions alphabetically.
-rw-r--r--indra/newview/rlvhandler.cpp17
-rw-r--r--indra/newview/rlvhelper.cpp2
2 files changed, 18 insertions, 1 deletions
diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp
index 3394362c93..869ada40ab 100644
--- a/indra/newview/rlvhandler.cpp
+++ b/indra/newview/rlvhandler.cpp
@@ -29,8 +29,8 @@
#include "llagent.h"
#include "llstartup.h"
#include "llviewercontrol.h"
-#include "llviewerobject.h"
#include "llviewermenu.h"
+#include "llviewerobject.h"
#include "rlvcommon.h"
#include "rlvhandler.h"
@@ -111,6 +111,8 @@ ECmdRet RlvHandler::processCommand(std::reference_wrapper<const RlvCommand> rlvC
{
case EParamType::Reply:
case EParamType::Force:
+ case EParamType::Remove:
+ case EParamType::Add:
eRet = rlvCmd.get().processCommand();
break;
case EParamType::Unknown:
@@ -245,4 +247,17 @@ ECmdRet ForceHandler<EBehaviour::Unsit>::onCommand(const RlvCommand& rlvCmd)
return ECmdRet::Succeeded;
}
+// AddRem
+
+ECmdRet CommandHandlerBaseImpl<EParamType::AddRem>::processCommand(const RlvCommand& rlvCmd, BhvrHandlerFunc* pHandler, BhvrToggleHandlerFunc* pToggleHandler)
+{
+ auto param = rlvCmd.getParam();
+ bool toggle = false;
+ if (param == "y")
+ toggle = true;
+ else if (param != "n")
+ return ECmdRet::FailedParam;
+ return (*pHandler)(rlvCmd, toggle);
+}
+
// ============================================================================
diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp
index a0a98d796e..01a0b84eb5 100644
--- a/indra/newview/rlvhelper.cpp
+++ b/indra/newview/rlvhelper.cpp
@@ -58,6 +58,8 @@ BehaviourDictionary::BehaviourDictionary()
addEntry(new ForceProcessor<EBehaviour::Sit>("sit"));
addEntry(new ForceProcessor<EBehaviour::Unsit>("unsit"));
+ // AddRem
+
// Populate mString2InfoMap (the tuple <behaviour, type> should be unique)
for (const BehaviourInfo* bhvr_info_p : mBhvrInfoList)
{