Monday, August 30, 2010

Restrained Love v2.1.2.1

Hi !

This is a last-minute release for the RLV with a quick fix. It seems that 2.1.2 crashed when receiving a @getoutfit command. If you have downloaded 2.1.2, please download this new version ASAP because using a furniture or an attachment that issues this command will make your viewer crash to desktop. Big thanks to Chorazin Allen for helping me track that bug down.

For those who build their own viewer and include the RLV patch in it :
I have also added the revision of the latest changeset integrated in the SL viewer at the time when I cloned the repository to build this RLV, which is 11980. Same revision as RLV 2.1.2 so the patch will need to be applied on the same source code. I'll try to keep the revision number visible so we know exactly what changes are included into the viewer when I decide to build a new RLV.

For those who didn't understand a word in what I just wrote, this simply means that the version of the SL viewer I have used to build the RLV on, will appear on the Help > About window, and I will try to do so from now on :)

Grab it here :

Hash for the Windows installer :
6f4ca405511ef7225d8a6571574dd196 (initial version with debug setting set to FALSE, unavailable now)
92e4ad7d2f02552ffb5d043ee4012885 (fixed version with debug setting set to TRUE)

Sorry for the inconvenience,

PS : The initial version had its "RestrainedLove" debug setting set to FALSE in the package, resulting in the RLV features being deactivated by default instead of activated. If you have downloaded it between 6:40am and 7:15am SLT on 8/30/2010, please download it again or turn this debug setting to TRUE yourself in Advanced > Debug Settings. That's the only difference between these two versions. Sorry about that.

Saturday, August 28, 2010

Restrained Love v2.1.2

Hello !

Here is the latest version of the RLV, really taking multi-attachments and multi-wearables now, like the soon-to-come SL viewer. Oh and also, as promised, a new command to make sure a prisoner won't escape from a cell by teleporting through HUDs and the like. Here is a breakdown of the new features :

- added : New commands to force attach outfits without replacing clothes and attachments : @attachover, @attachthisover, @attachallover, @attachallthisover. Note that if the folder begins with a "+" (can be changed through the "RestrainedLoveStackWhenFolderBeginsWith" debug setting), @attach:folder=force will add the outfit instead of replacing it.

- added : New @standtp command to force an avatar to teleport back to the previous location where they were standing last, to prevent them from cheating through cages by rezzing poseballs or teleporters.

- changed : Added Henri Beauchamp's tweak to make sure that an exact match for a folder takes priority over approximate matches, regardless of the position of the folder in the inventory.

- changed : When you receive a folder which name begins with "#RLV/~" from another resident, this folder goes directly into your #RLV folder, exactly as if it were given by an object.

- changed : The previous "fix" that would spare the viewer from removing all clothes before rebaking again when changing outfits is now removed. This fix could not handle multiple clothing well, due to how the regular SL viewer handles changes of clothing now (i.e. it removes everything and immediately rebakes the textures, which shows your avatar losing its shoes for a short moment, it is annoying but it works).

This version is also standalone (and I don't think I will release non-standalone viewers anymore now), you can grab it here :

The hash for the Windows is

Have fun !

Sunday, August 22, 2010

Upcoming new RLV command : @standtp

Hi !

Just a short blog post to give you a heads-up as to what the next RLV command will be and what it will be used for : @standtp.

Cages in SL are pretty much secure, with one flaw : the prisoner could use a rezzer HUD to rez prims and get out. One way to prevent this so far is to issue a @sit command, which has the downside of not allowing the prisoner to sit anywhere (it is ok for most cages, but some do include furniture on which the prisoner is expected to sit). Another way to prevent it is to lock their inventory away with @showinv and to ensure the prisoner cannot use a script to grab the rezzer from their #RLV folder... but it is also a bit overkill because the inventory could be useful for other things.

That's why @standtp is being added : When the avatar sits down the RLV retains its last standing position, and when it stands up and this command is active it is teleported back to this last standing position, exactly as if you double-clicked on the floor with the "DoubleClickTeleport" debug setting set to TRUE.

In other words, if you are kept inside a cage that uses this command and you think you can escape by using a HUD that rezzes a prim you can sit on... think again. lol. You'd snap right back inside the cage when you stand up.

Now... Why isn't it part of other commands like @sittp, for example ? Well it wouldn't work for leashes, where the sub can be told to sit in a vehicle for a stroll. She would snap back to the original place upon standing, which would be confusing. So this feature does need a new command I'm afraid.

Oh one last thing ! When the command is issued, the last stored location is also updated to where you are at the moment so that grabbers that force-sit you can still be used to bring someone inside a cage, issue all the restrictions (including @standtp) and THEN unsit the victim. That way no content will break.

I do not have an ETA yet. The command works, but I have no plan to release a new RLV in the next few days so you have time. But since the RLV does accept even non-existing commands (for this reason), you can already update your cages if you want, to be prepared for the time when it will be part of the RLV API.

Have fun !

Wednesday, August 18, 2010

Restrained Love v2.1.0.1

Hello there,

Here is the latest version of the RLV, with only bugfixes but a lot of them. I hope this will make it more user-friendly for everyone.

- changed : When debug settings are forced, atmospheric shaders are forced on too because RenderResolutionDivisor (*) needs them to work.
- changed : DoubleClickTeleport (*) is ignored if your controls are being handled (like when wearing legirons), or when unable to sit-TP, or when unable to teleport.
- fixed : The Build button was not refreshed correctly when the @rez restriction was active and the avatar was walking from parcel to parcel.
- fixed : Don't hide the LMs in the Places panel when the inventory is hidden.
- fixed : When changing outfits, don't reset all the clothes (making the shoes disappear and reappear), but only update what needs to be updated, like in 1.x.
- fixed : When wearing 2 pieces of clothing at the same time after clearing the cache, one of them cannot be removed easily. Please note, this is a SL viewer bug, see
- fixed : You could delete (not return) an object you were sitting on while prevented from unsitting.
- fixed : You could send a TP offer even when the location was hidden.

(*) This is a Debug Setting, that you can change by going to Advanced > Debug Settings on your top menubar (if you don't see the "Advanced", press Ctrl Alt D).

Here is the link to the RLV, remember it is standalone now :

The hash of the windows installer is

Have fun !

Tuesday, August 3, 2010

Restrained Love v2.1.0

Hi there,

As promised, here is the latest version of the RLV... with a few significant changes ! First of all, it is a standalone version, and not an executable that you have to drop into the SL folder anymore. What you get is an installer that will decompress wherever you want, and you won't have to go through the hassle of copying the settings.xml file anymore.

But more so, this version handles multiple attachments... If you don't know what it is about, let me explain it to you real quick :

Until now, you could only wear ONE object per attachment point (like "spine", "r forearm" etc). Which means that attaching another object on a point that was taken would either kick the present object off, or do nothing if the object was locked.

Some other third-party viewers like Emerald added several copies of the existing attachment points to trump the system and make you able to wear several objects on the same point. It worked well, but scripts would have difficulties with them, especially since it was not a supported feature.

Now, the grid is able to handle this and has support from the regular SL viewer 2.1, which has become official last week. And with it, RLV 2.1. What happens now, is that an attachment point does not hold only one object anymore, but a list of objects.

It impacts some of the features of the RLV directly though :

- A new @getpathnew command is added because @getpath would return only one folder, the folder containing "the" object attached to an attachment point. Only... "the" does not mean anything anymore, since there can be several objects worn on the same point.
- When your avatar is forced to wear something, the objects won't kick the existing ones anymore. So you have to manually remove them before or after wearing the new outfit.

The "MultipleAttachment" debug setting is going to be your friend, too. It is set to FALSE by default (so the viewer follows the old behavior), you have to set it to TRUE yourself in order to enjoy this new feature. This is because older viewers like 1.23 are unable to render those additional objects when they're attached on top of existing ones.

Here is a recap of the changes and new features :

- added : Support for multiple attachments. The debug setting "MultipleAttachments" is used to decide whether to allow multiple attachments or not. Defaults to FALSE. (*)
- added : New command @getpathnew to respond with a list of folders when testing what outfits contain all the objects attached to one attach point in particular.
- added : Some tweaks to make the viewer generally more user-friendly. You can find them here :
- changed : The Build, Map, Minimap and Inventory buttons in the bottom bar are greyed out when the appropriate restrictions are issued.
- changed : Made the chat toasts bigger for better readability.
- fixed : Update the context menu of the top menubar when @showloc is issued.
- fixed : Ironed out some oversights that needed to be addressed after porting the RLV source code to 2.0, then to 2.1.

(*) The release notes may seem to say exactly the opposite. What is said here in this blog is the actual behavior, the debug setting is NOT ignored.

Here is the link to the RLV, remember 2.1 is standalone now :

The hash of the windows installer is

Have fun !