Commit Graph

144 Commits (01d8e7e34706d19bd5faa4906abe41d0eaa37237)

Author SHA1 Message Date
Ansariel 01d8e7e347 Merge axon 2017-09-20 01:09:14 +02:00
Kitty Barnett eb43f227bc Merged cleanly with RLVa tip 2016-12-03 20:34:36 +01:00
Kitty Barnett 036390f5bd @sit[:<null-uuid>]=force will ground-sit the avatar (if permitted)
--HG--
branch : RLVa
2016-11-27 18:07:30 +01:00
Ansariel 79aca1f0ed Prevent warnings about invalid UUIDs caused by invalid RLV commands produced by MoDesign Collar (and maybe others as well) 2016-09-21 18:10:26 +02:00
Kitty Barnett 3774b2eda6 Merged with RLVa-Maintenance tip
--HG--
branch : RLVa
2016-07-12 23:14:23 +02:00
Kitty Barnett 093592871b Merged with RLVa tip 2016-07-16 20:12:34 +02:00
Kitty Barnett 05d22f77ae Merged with RLVa tip 2016-07-11 22:44:01 +02:00
Kitty Barnett 822845e78f [FIXED] Changes to camera FOV persist across relogs and don't reset/restore upon release
--HG--
branch : RLVa
2016-07-11 02:07:44 +02:00
Kitty Barnett d956fb60db [FIXED] Strict versions of restictions fail with "unknown command"
-> additionally, revert to using the stored string behaviour otherwise @sendim_sec=n,getstatus=0 shows /sendim rather than /sendim_sec

--HG--
branch : RLVa
2016-07-10 22:39:06 +02:00
Kitty Barnett c3eec8d391 Added @shownearby=n|y
--HG--
branch : RLVa
2016-07-01 20:22:39 +02:00
Kitty Barnett 43f80a2803 [FIXED] GCC compiler issues (originally by Nicky Dasmijn - thank you)
* Change RlvCommandOptionHelper::parseOption<RlvCommandOptionGeneric>(rlvCmd.getOption()) to RlvCommandOptionHelper::parseOption<RlvCommandOptionGeneric>(rlvCmd.getOption(), rlvCmdOption ) as otherwise a wrong template go picked wich resulted in linker errors.
    => we don't (need to) check the return type in those cases since it can't ever fail to convert so we just end up with less nice looking code
  * Rearrange RlvBehaviourDictionary to be above the classes that need the defintion (RlvBehaviourDictionary::instance call)
  * Change '(".("RLV_FOLDER_FLAG_NOSTRIP")"' to '(".(" RLV_FOLDER_FLAG_NOSTRIP ")"'. The GCC preprecessor does not like it w/o spaces.
  * Add template<> to those specialization that missed it
  * Change template<> template<> to just template<>
    => GCC seems to hate the templated std::enable_if (try boost::enable_if in the future); meanwhile try to #define a solution
    => Nicky changed a function parameter name matching a template parameter name so start differentiating between the two

--HG--
branch : RLVa
2016-06-25 15:17:31 +02:00
Kitty Barnett 4747f6db42 [FIXED] The lookup map isn't populated when RLV_RELEASE is defined
-> RLV_ASSERT resolves to nothing

--HG--
branch : RLVa
2016-06-25 00:31:01 +02:00
Kitty Barnett aaedd151ce Code cleanup: don't store unknown or invalid restrictions/behaviours
--HG--
branch : RLVa
2016-06-25 00:28:40 +02:00
Kitty Barnett 5b827f656f Added (deprecated) compatibility shims and general clean-up
-> Added @getcam_avdistmin=<channel>, @getcam_avdistmax=<channel>, @getcam_fovmin=<channel>, @getcam_fovmax=<channel> and @getcam_textures=<channel>
  -> Added @getcam_avdist=<channel>, @getcam_fov=<channel>
  -> Added @setcam_mode[:<mouselook|thirdperson>]=force

--HG--
branch : RLVa
2016-06-20 22:38:49 +02:00
Kitty Barnett 61dc1e7b84 Merged with RLVa maintenance tip
--HG--
branch : RLVa
2016-06-19 21:30:34 +02:00
Kitty Barnett 94c33e8ee3 Added @setcam_mouselook=n|y to prevent the user from going into mouselook
--HG--
branch : RLVa
2016-06-19 19:34:17 +02:00
Kitty Barnett 70da447db9 Added @setcam_textures[:<uuid>]=n|y
--HG--
branch : RLVa
2016-06-19 00:38:08 +02:00
Kitty Barnett aaa47b6db2 Added (spherical) exclusion ranges to @recvim, @startim and @sendim
-> Examples:
      * @recvim:0,20=n   - user can only receive IMs from people within chat-range (20m)
      * @sendim:256=n    - user can only send IMs to people who are at least a region away (256m)
      * @startim:0,256=n - user can only start IMs to people who are on the same region they are (between 0moh oh and 256m)
  -> Note that you generally can't rely on having location information for avatars beyond the current region (and maybe 1-3 surrounding neighbours) so large values are of limited use
  -> On an isolated region using 4096m as the upper value will guarantee that you can only IM avatars on the same region regardless of elevation but none anywhere else on the grid

--HG--
branch : RLVa
2016-06-12 16:04:01 +02:00
Kitty Barnett 6c241cde5a Show modifiers on the behaviour floater
--HG--
branch : RLVa
2016-06-12 11:28:03 +02:00
Kitty Barnett 7c89967a1d Added @showself=n|y and @showselfhead=n|y
--HG--
branch : RLVa
2016-06-11 22:47:23 +02:00
Kitty Barnett 4b884caf43 Added @shownames:<uuid> and @shownametags:<uuid> exceptions
-> [FIXED] "Pay" isn't disabled on the avatar context menu when @shownames restricted
  -> [CHANGED] Show a notification when the user can't offer a teleport due to an RLV restriction

--HG--
branch : RLVa
2016-06-11 22:45:42 +02:00
Kitty Barnett ba91b3eabb Added @setcam_avdistmin[:<distance>]=n|y, @setcam_avdistmax[:<distance>]=n|y, @setcam_focusdistmin[:<distance>]=n|y and @setcam_foccusdistmax[:<distance>]=n|y
--HG--
branch : RLVa
2016-06-08 01:54:40 +02:00
Kitty Barnett e90f7a8dad Added custom handling of behaviour toggles
-> RlvBehaviourToggleProcessor now requires implementing RlvBehaviourHandler<eBhvr>::onCommand(...)
  -> existing RlvBehaviourToggleHandler was renamed RlvBehaviourToggleProcessor and is "implemented" as a simple typedef

--HG--
branch : RLVa
2016-06-04 00:55:01 +02:00
Kitty Barnett 3318ce60c1 Added variable fartouch distance (@fartouch:<dist>=n|y)
--HG--
branch : RLVa
2016-06-04 17:36:59 +02:00
Kitty Barnett 60f93645aa [FIXED] RlvHandler::hasBehaviourExcept() returns FALSE on modifier commands
-> Example: issue @tplocal:50=n
  -> gRlvHandler.hasBehaviour(RLV_BHVR_TPLOCAL) will return true but gRlvHandler.hasBehaviourExcept(RLV_BHVR_TPLOCAL, LLUUID::null) will return FALSE
  => since it's a modifier command it will be reference counted but that fact is lost on manual matching (tplocal=n != tplocal:<option>=n) so we keep track of reference counting in the command

--HG--
branch : RLVa
2016-06-04 14:58:00 +02:00
Kitty Barnett d36c0de9e6 Added variable sittp/tplocal distances (@sittp[:<dist>]=n|y and @tplocal[:<dist>]=n|y)
--HG--
branch : RLVa
2016-06-04 13:50:58 +02:00
Kitty Barnett 197c860366 Merged with RLVa refactoring tip
--HG--
branch : RLVa
2016-06-04 11:19:39 +02:00
Kitty Barnett 958922998b [FIXED] Commands implemented as extensions (@setev, @setdebug and @setdebug) fail with unknown command
--HG--
branch : RLVa
2016-06-02 23:10:23 +02:00
Kitty Barnett 2864442dd6 Added @sendchannel_except[:<channel>]=n|y (requested)
--HG--
branch : RLVa
2016-06-02 22:18:59 +02:00
Kitty Barnett 6d22f744a6 Merged with RLVa refactoring tip
--HG--
branch : RLVa
2016-05-29 21:51:14 +02:00
Kitty Barnett 8b6b3be823 Refactoring carousel: converted @detach / @remattach / @remoutfit / @detachme to RlvForceHandler
-> added @remattach:<uuid>=force (requested)
  -> added @detachthis:<uuid>=force (requested)

--HG--
branch : RLVa
2016-05-29 21:42:34 +02:00
Kitty Barnett 86cb92d899 Added @tpto:<position>;<lookat>=force to specify which direction to face when arriving
--HG--
branch : RLVa
2016-05-29 19:27:54 +02:00
Kitty Barnett 0c188a4d40 Refactoring carousel: move teleport blocking logic to RlvActions and formalize the concept of local teleports (WIP)
-> historically RLVa always had the concept of "local teleports" by tieing double-click teleports to @sittp rather than being subject to @tploc
  -> location teleports were tied to @tploc regardless of the distance
  => this change divides position-based teleports in "local" and "remote" with different sets of rules (@sittp and @tploc respectively)
  => added @tplocal=n to restrict local teleport without impacting sit distance (@sittp still implies @tplocal)

--HG--
branch : RLVa
2016-05-29 15:48:35 +02:00
Kitty Barnett 824a22ac09 Refactoring carousel: all command option parsing should run through RlvCommandOptionHelper (WIP)
--HG--
branch : RLVa
2016-05-29 14:39:27 +02:00
Kitty Barnett f5fa9d1b82 Merged with RLVa refactoring tip
--HG--
branch : RLVa
2016-05-21 11:40:19 +02:00
Kitty Barnett 16d1e8483f Behaviour modifiers can now have a primary object that overrides all other object's modifiers, plus we now have behaviour modifier handlers
--HG--
branch : RLVa
2016-05-16 16:11:17 +02:00
Kitty Barnett 056d8cff55 Added @setcam=n|y, @setcam_eyeoffset[:<vector3>]=n|y, @setcam_focusoffset[:<vector3>]=n|y, @setcam_fov[:<angle>]=n|y, @setcam_fovmin[:<angle>]=n|y and @setcam_fovmax[:<angle>]=n|y
--HG--
branch : RLVa
2016-05-16 01:32:12 +02:00
Kitty Barnett 9d7c376390 Added @camunlock=n
--HG--
branch : RLVa
2016-05-15 22:57:24 +02:00
Kitty Barnett 2a18eb7d71 Added @camfocus:<uuid|pos>[;<dist>[;<dir>]]=force (WIP - first iteration)
--HG--
branch : RLVa
2016-05-15 21:04:42 +02:00
Kitty Barnett 68025f9e1d Added behaviour modifiers as a prelude to camera restrictions and other fun goodies
--HG--
branch : RLVa
2016-05-15 00:35:54 +02:00
Kitty Barnett aa1ce339b5 Refactoring carousel: @edit, @setdebug, @setenv and @showinv toggle handlers
-> minor code touch-up - no functionality changes

--HG--
branch : RLVa
2016-05-14 13:27:37 +02:00
Kitty Barnett 3f498c46d5 Added @sendgesture=n to block sending/playing gestures (requested)
--HG--
branch : RLVa
2016-05-14 10:46:00 +02:00
Kitty Barnett 0ccf637e6f Finalized @getcommand[:<behaviour>[;<type>[;<separator>]]]=<channel>
-> <behaviour>: (optional) command filter (e.g. tp)
     <type> : (optional) any|add|force|reply
     <separator> : (optional) user-defined separator
  -> Examples:
     @getcommand:tp;add=0 will show all restrictions that @clear=tp would clear
     @getcommand:;reply;^-^=0 will show all reply commands separated by ^-^

--HG--
branch : RLVa
2016-04-20 01:37:53 +02:00
Kitty Barnett 6f36b8549d Refactoring carousel: apply template voodoo and consolidate all handler and processor classes into one
--HG--
branch : RLVa
2016-04-17 21:49:15 +02:00
Tonya Souther 622a10bc8b Silence clang warning about using assignment result in conditional. 2016-06-25 21:33:42 -05:00
Kitty Barnett 1afd940863 Merged with RLVa tip 2016-06-25 15:19:31 +02:00
Kitty Barnett 21d05e0204 Merged with RLVa tip 2016-06-25 02:05:47 +02:00
Kitty Barnett 17a9b09f25 Reapply FS-specific changes 2016-06-24 17:18:38 +02:00
Kitty Barnett 75e217b82e Code review: RLVa extensions are no longer optional features
-> @accepttprequest will auto-accept all incoming teleport requests (allows exceptions - see @accepttp)
  -> @allowidle (stays experimental - subject to change)
  -> @getcommand:<filter> can be used to discover which commands are part of the user's RLVa implementation (with user-defined separator)
  -> @findfolders:<filter> works like @findfolder but will return all matches (with user-defined separator)
  -> @getdebug:<setting> can be used to query (but not set) the "RestrainedLoveforbidGiveToRLV", "RestrainedLoveNoSetEnv" and "WindLightUseAtmosShaders" debug settings
  -> @interact will block world interaction but allows drag-drop, the camera tool, mouse steering and access to the "self" context menu
  -> @sharedwear is the counterpart of @unsharedwear and wear locks the shared #RLV folder
  -> @sharedunwear is the counterpart of @unsharedunwear and remove locks the shared #RLV folder
  -> @touchhud will prevent the user from touching/clicking on their HUD attachments (allows exceptions)
  -> @tprequest will prevent the user from requesting teleports (allows exceptions - see @tplure)
  -> force wear commands will activate/deactivate gestures as well
  -> force wear commands will collect from folder links as well
  -> [FIXED] Location on incoming teleport requests isn't censored when @showloc restricted
  -> [FIXED] Message on outgoing teleport offers isn't censored when @startim restricted
  -> [FIXED] Message on outgoing teleport requests isn't censored when @sendim or @startim restricted

--HG--
branch : RLVa
2016-04-10 14:07:23 +02:00
Kitty Barnett 1f8896ff69 Refactoring carousel: move behaviour/command handlers back into their proper spots for consistency
--HG--
branch : RLVa
2016-04-03 12:31:51 +02:00