1ea7389, 49be412, ed4c8e6 & 7ce9521 - changed : "Give to #RLV" agent-to-agent and script-to-agent offers can contain subfolders -> limited to 3 levels (e.g. #RLV/~FolderA/FolderB/FolderC) -> #RLV folder is auto-created if it doesn't currently exist 8780d84 - Incremented version number to RLVa-1.4.10 f078067 - internal : boolean (custom) debug settings should have a boolean type 72a8ad8 & 401ca14 - internal : added supporting code for "Detach Folder" RLVa lock checks 05718b5 - fixed : RenderResolutionDivisor is non-functional -> RenderResolutionDivisor isn't actually taken into account when checking the new screen resolution against the current screen buffer size 4fa138b - fixed : viewer clips mouse to its rectangle when switching into mouselook while it's not the active application -> Repro: * rez a prim with a script to llForceMouseLook(TRUE) and force-sit when clicked (with a slight delay) * click the prim and give focus to another application => the viewer will center the mouse cursor on itself and restrict movement to within its own rectangle (requires alt-tab to escape) + Singu Note: Thanks to Kitty for this, it is possible that this would happen in our last release 14132c9 - fixed : region name and global coordinates are shown on the About floater when @showloc restricted + Singu Note: RLV version is now shown in help->about 9a2af62 - changed : llRegionSayTo messages are no longer subject to @recvchat(from) or @recvemote(from) 2dc4b89 - fixed : @getstatus and @getstatusall should specify an (optional) separator -> added support for both @getstatus:tp;|=123 and @getstatus:;|=123 fbb3fb1 - Incremented API version number to 2.8.0 92c39b9 - internal : quick and dirty hack fix for RlvUtil::filterNames() but there's no time to do a proper backport from RLVa-1.5 2580f1c - internal : remove hack for legacy viewers without multi-attachment support
112 lines
3.4 KiB
C++
112 lines
3.4 KiB
C++
/**
|
|
*
|
|
* Copyright (c) 2009-2013, Kitty Barnett
|
|
*
|
|
* The source code in this file is provided to you under the terms of the
|
|
* GNU Lesser General Public License, version 2.1, but WITHOUT ANY WARRANTY;
|
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
* PARTICULAR PURPOSE. Terms of the LGPL can be found in doc/LGPL-licence.txt
|
|
* in this distribution, or online at http://www.gnu.org/licenses/lgpl-2.1.txt
|
|
*
|
|
* By copying, modifying or distributing this software, you acknowledge that
|
|
* you have read and understood your obligations described above, and agree to
|
|
* abide by those obligations.
|
|
*
|
|
*/
|
|
|
|
#ifndef RLV_ACTIONS_H
|
|
#define RLV_ACTIONS_H
|
|
|
|
#include "rlvdefines.h"
|
|
|
|
// ============================================================================
|
|
// RlvActions class declaration - developer-friendly non-RLVa code facing class, use in lieu of RlvHandler whenever possible
|
|
//
|
|
|
|
class RlvActions
|
|
{
|
|
// =============
|
|
// Communication
|
|
// =============
|
|
public:
|
|
/*
|
|
* Returns true if the user is allowed to receive IMs from the specified sender (can be an avatar or a group)
|
|
*/
|
|
static bool canReceiveIM(const LLUUID& idSender);
|
|
|
|
/*
|
|
* Returns true if the user is allowed to send IMs to the specified recipient (can be an avatar or a group)
|
|
*/
|
|
static bool canSendIM(const LLUUID& idRecipient);
|
|
|
|
/*
|
|
* Returns true if the user is allowed to start a - P2P or group - conversation with the specified UUID.
|
|
*/
|
|
static bool canStartIM(const LLUUID& idRecipient); // @startim and @startimto
|
|
|
|
// ========
|
|
// Movement
|
|
// ========
|
|
public:
|
|
/*
|
|
* Returns true if the user can accept an incoming teleport offer from the specified avatar
|
|
*/
|
|
static bool canAcceptTpOffer(const LLUUID& idSender);
|
|
|
|
/*
|
|
* Returns true if a teleport offer from the specified avatar should be auto-accepted
|
|
* (pass the null UUID to check if all teleport offers should be auto-accepted regardless of sender)
|
|
*/
|
|
static bool autoAcceptTeleportOffer(const LLUUID& idSender);
|
|
|
|
/*
|
|
* Returns true if the user can accept an incoming teleport request from the specified avatar
|
|
*/
|
|
static bool canAcceptTpRequest(const LLUUID& idSender);
|
|
|
|
/*
|
|
* Returns true if a teleport request from the specified avatar should be auto-accepted
|
|
* (pass the null UUID to check if all teleport requests should be auto-accepted regardless of requester)
|
|
*/
|
|
static bool autoAcceptTeleportRequest(const LLUUID& idRequester);
|
|
|
|
// =================
|
|
// World interaction
|
|
// =================
|
|
public:
|
|
/*
|
|
* Returns true if the user can stand up (returns true if the user isn't currently sitting)
|
|
*/
|
|
static bool canStand();
|
|
|
|
/*
|
|
* Returns true if the user can see their in-world location
|
|
*/
|
|
static bool canShowLocation();
|
|
|
|
// ================
|
|
// Helper functions
|
|
// ================
|
|
public:
|
|
/*
|
|
* Convenience function to check for a behaviour without having to include rlvhandler.h.
|
|
* Do NOT call this function if speed is important (i.e. per-frame)
|
|
*/
|
|
static bool hasBehaviour(ERlvBehaviour eBhvr);
|
|
|
|
/*
|
|
* Returns true if a - P2P or group - IM session is open with the specified UUID.
|
|
*/
|
|
static bool hasOpenP2PSession(const LLUUID& idAgent);
|
|
static bool hasOpenGroupSession(const LLUUID& idGroup);
|
|
|
|
/*
|
|
* Convenience function to check if RLVa is enabled without having to include rlvhandler.h
|
|
*/
|
|
static bool isRlvEnabled();
|
|
};
|
|
|
|
// ============================================================================
|
|
|
|
#endif // RLV_ACTIONS_H
|