Commit Graph

35849 Commits (ca9f5674ab89eb209745766df8752e61a79c211f)

Author SHA1 Message Date
Kitty Barnett ca9f5674ab [FIXED] Crash on @detach=force (thankies Eglan)
--HG--
branch : RLVa
2016-06-30 22:11:31 +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 488b9a55fa [FIXED] Region sends object kill messages for worn attachments during teleport
-> the attachment will be killed on teleport and readded at some point after teleport (can be much, much later)
  -> since we clean up restrictions on detach (=kill) the attachments appears to loose restrictions
  -> problem is worse on viewers that hide the teleport screen and allow the user to interact with the world right up until the teleport sequence
  -> this is a simulator-side bug which isn't actually our business but users think it's a viewer-side bug so we'll try to mitigate it somewhere client-side
  => repro: teleport and then right-click to get an active selection => the attachment will get killed => at some point after it will reappear once the new region sends an update message for it

--HG--
branch : RLVa
2016-06-25 01:24:57 +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 e4f327e747 Code cleanup: integrate some of the Firestorm changes/fixes so we don't wipe them out again
--HG--
branch : RLVa
2016-06-24 16:58:17 +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 969ced6335 Merged with RLVa-refactoring tip
--HG--
branch : RLVa
2016-06-11 23:41:05 +02:00
Kitty Barnett ecdf5e3edc Merged with RLVa refactoring tip
--HG--
branch : RLVa
2016-06-11 22:48:54 +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 e7bf8c2111 Add a placeholder modifier so the refactor branch will compile for the outside world
--HG--
branch : RLVa
2016-06-11 20:27:08 +02:00
Kitty Barnett 3a55b1af3e Keep GCC happy
--HG--
branch : RLVa
2016-06-11 03:13:41 +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 ae02ea88bf Removed "RLVaShowNameTags" debug setting
--HG--
branch : RLVa
2016-06-04 17:47:16 +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 0e605d4400 Moved RlvHandler::canEdit() to RlvActions::canEdit()
--HG--
branch : RLVa
2016-06-04 16:49:33 +02:00
Kitty Barnett ffc20ac3c3 Auto-pilot should be subject to local teleport restrictions
--HG--
branch : RLVa
2016-06-04 15:32:38 +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 651b53944c Clear all self-owned restrictions when closing the RLVa console
--HG--
branch : RLVa
2016-06-02 23:00:36 +02:00
Kitty Barnett f7c69ca8f9 [FIXED] Exception shows an avatar's UUID rather than their name if they're nearby
--HG--
branch : RLVa
2016-06-02 23:00: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 c0fa9eda0f Allow @tpto position to be specified as <region-name>/<x>/<y>/<z>
--HG--
branch : RLVa
2016-05-29 23:08:55 +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 f2b05ea2e4 [FIXED] RlvAttachmentLocks::updateLockedHUD() isn't disabling wireframe mode properly
--HG--
branch : RLVa
2016-05-15 16:15:09 +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 66e293345b Incremented RLV spec version to 3.1.4 cause pie is delicious
--HG--
branch : RLVa
2016-04-23 23:33:59 +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 43e1bb1213 Added RLVa command console
--HG--
branch : RLVa
2016-04-20 01:18:07 +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