Refresh movelock position after sitting down (if movement autorelocking is ticked in prefs) to prevent pulling avatar back to previous one after standing up

Suggestion provided by Zi; Also instead of using region resources and timer() - send a HTTP request from the viewer itself
master
PanteraPolnocy 2021-02-12 17:08:13 +01:00
parent 69dee9509c
commit a0ee9bf2c7
3 changed files with 14 additions and 3 deletions

View File

@ -7,7 +7,7 @@
//
// Bridge platform
string BRIDGE_VERSION = "2.26"; // This should match fslslbridge.cpp
string BRIDGE_VERSION = "2.27"; // This should match fslslbridge.cpp
string gLatestURL;
integer gViewerIsFirestorm;
integer gTryHandshakeOnce = TRUE;
@ -459,7 +459,10 @@ default
{
gUseMoveLock = llList2Integer(commandList, 1);
movelockMe(gUseMoveLock);
llOwnerSay("<bridgeMovelock state=" + (string)gUseMoveLock + ">");
if (llList2String(commandList, 2) != "noreport")
{
llOwnerSay("<bridgeMovelock state=" + (string)gUseMoveLock + ">");
}
}
else if (cmd == "llMoveToTarget")

View File

@ -55,7 +55,7 @@
static const std::string FS_BRIDGE_FOLDER = "#LSL Bridge";
static const std::string FS_BRIDGE_CONTAINER_FOLDER = "Landscaping";
static const U32 FS_BRIDGE_MAJOR_VERSION = 2;
static const U32 FS_BRIDGE_MINOR_VERSION = 26;
static const U32 FS_BRIDGE_MINOR_VERSION = 27;
static const U32 FS_MAX_MINOR_VERSION = 99;
static const std::string UPLOAD_SCRIPT_CURRENT = "EBEDD1D2-A320-43f5-88CF-DD47BBCA5DFB.lsltxt";
static const std::string FS_STATE_ATTRIBUTE = "state=";

View File

@ -131,6 +131,7 @@
#include "llviewernetwork.h" // [FS:CR] isInSecondlife()
#include "llsidepanelappearance.h"
#include "fsavatarrenderpersistence.h"
#include "fslslbridge.h" // <FS:PP> Movelock position refresh
#include "fsdiscordconnect.h" // <FS:LO> tapping a place that happens on landing in world to start up discord
@ -8235,6 +8236,13 @@ void LLVOAvatar::sitDown(BOOL bSitting)
gRlvHandler.onSitOrStand(bSitting);
}
// [/RLVa:KB]
// <FS:PP> Refresh movelock position after sitting down to prevent pulling avatar back to previous one after standing up
if (bSitting && gSavedPerAccountSettings.getBOOL("UseMoveLock") && gSavedPerAccountSettings.getBOOL("RelockMoveLockAfterMovement"))
{
FSLSLBridge::instance().viewerToLSL("UseMoveLock|1|noreport");
}
// </FS:PP>
}
}