Sunday, March 27, 2011

Restrained Love v2.5.0.1

Hi there,

So it seems I have made a little oops with the RLV 2.5, by adding the Starlight skin I forgot to re-include two patches that would have been interesting. Plus the little fix I added to avoid making the avatar bounce when wearing clothes, actually introduced another annoying bug, that is fixed in this version (you could not remove a stacked piece of clothing easily, e.g. you couldn't remove the second shirt if you had a first one, without removing them all at the same time, how silly).

So here it is, go grab it at the usual spot :

http://www.erestraint.com/realrestraint

And the hash for the Windows version is
c3aea95f88a347a8a21fa1ebbbb2d125

Have fun and sorry for the oversights !
Marine

Saturday, March 26, 2011

Restrained Love v2.5

And as promised, here it is, the latest version of the RLV.

Those of you who read this blog regularly know that this version is a bit big, with more than a few new commands. If you're interested in knowing what is new, read on. If you prefer downloading it right away, just go grab it at the usual location :

http://www.erestraint.com/realrestraint

And the MD5 hash for the Windows executable is
b59d5b3e49c50ad3c0178d4b034cdf6c


Still here ? Let me paste the readme file for you then :

- added : Notification to scripts on clothes and attachment changes. This allows a script to be notified when the user wears or unwears an outfit, without having to constantly poll for the list of worn items. The notifications are "(worn/unworn/attached/detached) (legally/illegally) (path_to_outfit)"
- added : "@adjustheight" command, as implemented by Henri Beauchamp (see http://sldev.free.fr/forum/viewtopic.php?f=7&p=1847#p1847 for details).
- added : "@attachoverorreplace", "@attachthisoverorreplace", "@attachalloverorreplace" and "@attachallthisoverorreplace" commands, which now do what respectively "@attach", "@attachthis", "@attachall" and "@attachallthis" used to do until now, in preparation for a possible change in the future.
- added : "@setgroup:(name)=force" command to force the user to activate the specified group (they must be a member of course). "none" will deactivate the group tag.
- added : "@setgroup=n" to prevent the user from switching groups.
- added : "@getgroup=2222" to obtain the name of the current activated group of the user. Please note that the UUID of the group is not disclosed, only the name, to stay consistent with the LSL API.
- added : "@touchworld:(uuid)=add" exception to allow to touch an specific object in world even when "@touchworld=n" is active.
- added : "@touchthis:uuid=n" restriction to prevent from touching one object in particular.
- added : "@unsharedwear=n" command to prevent the user from wearing anything that is not under #RLV. (*)
- added : "@unsharedunwear=n" command to prevent the user from unwearing anything that is not under #RLV. (*)
- added : "@detachthis_except:(folder_child)=add" to add an exception to a "@detachallthis:(folder_parent)=n" restriction, provided that (folder_child) is contained somewhere under (folder_parent) and that "@detachthis_except" has been issued by the same object (this kind of exception does not work between different objects, on purpose). (*)
- added : "@detachallthis_except:(folder_child)=add", same thing as above but will include all the sub-folders in the exception as well. (*)
- added : "@attachthis_except:(folder_child)=add" to add an exception to a "@attachallthis:(folder_parent)=n" restriction, provided that (folder_child) is contained somewhere under (folder_parent) and that "@attachthis_except" has been issued by the same object (this kind of exception does not work between different objects, on purpose). (*)
- added : "@attachallthis_except:(folder_child)=add", same thing as above but will include all the sub-folders in the exception as well. (*)
- changed : Now "@attachall:=force" (notice the lack of option after the colon) is ignored, to avoid a common mistake that would make the user attach their whole #RLV folder (and given the time it takes, probably disconnect their viewer in the process).
- changed : The minimap is not hidden anymore when "@showloc=n" is issued.
- changed : The user can now wear up to 10 pieces of clothing per layer (for example, 10 jackets at the same time). Please note that the maximum number of objects per attachment point has NOT been increased, in order to avoid hogging the sim.
- changed : The avatar will not bounce up and down when wearing and removing clothes, having the nice side-effect of increasing the speed of changing outfits.
- fixed : Could remove the jacket layer even when contained into a shared folder and "@detachthis:jacket=n" was issued.
- fixed : Could change shape even under "@remoutfit:shape=n".

(*) : These new commands are extremely helpful when you want to lock everything except a particular folder (and its subfolders if you need). You can for example issue a "@attachallthis=n" command to lock the whole #RLV off, followed by a "@unsharedwear=n" command to make sure that no other folder can be worn instead (locking the inventory out would work well too but would be a bit overkill), then issue a "@attachallthis_except:boots=add" to allow the avatar to wear only what is contained inside the "#RLV/Boots" folder (if any) or any of its children.

Of course, while a folder is locked that way, the user is unable to rename it, move it, or move its contents. Moreso, since such an exception is valid only with restrictions issued by the same object, if another object issues a "@attachallthis=n" command, this will completely void the exceptions issued by the former object and lock the whole #RLV folder anyway.

Finally, the RLV checks the closest parent's restriction when it comes to determining whether an outfit can be worn or unworn. In other words, you can decide that a folder and all its children are locked off, except one sub-folder that can be worn, and a couple of its own children cannot.


You may have noticed that the commands "@attach" and "@attachoverorreplace" are synonyms now, as well as their derivatives. Although I wanted to revert "@attach" back to how it used to behave on RLV 1.x (i.e. always replacing existing attachments when attaching new ones), this had the nasty effect of upsetting a lot more people than I thought at first. I am not here to upset people, so this change is going to be postponed until further notice. I'll try to communicate early enough when it really needs to take place, but for now it is not a necessity yet.

Have fun !
Marine

Restrained Love v2.5 coming soon, addendum

Hi again,

It seems the change I had planned on the @attach command actually put a lot of people in trouble. Or at least would if it were adopted, so I will postpone it until further notice.

So finally :

- The @attach command on RLV 1.x, will REPLACE the attachment that was present, by the one the command is attaching

- The @attach command on RLV 2.x (including 2.5) will REPLACE the present attachment, UNLESS the name of the folder to attach begins with a "+" (or whatever the user choses), in which case it would ADD it without detaching what was already there.

- The @attachover command stays in RLV 2.x and is not meant to go away.

- The @attachoverorreplace command will STILL be added (in case some of you already started to update your products), and will act EXACTLY like the current @attach command.

I'll be honest, this keeps an inconsistency that I hoped to get rid of. But not at the expense of the users and the scripters.

Sorry for the inconvenience,
Marine

PS : this blog post is likely to be followed closely by another one announcing the release of RLV 2.5, since I am finalizing it at the time of this writing.

Wednesday, March 23, 2011

Restrained Love v2.5 coming soon

Hello there,

So after about a month of working non-stop on the Vixen Leather Training Set, here I am back on the RLV, which needed some attention.

First of all, it needed to be upgraded to the latest SL viewer codebase, just so you could benefit from the 40-groups-limit that was introduced in the SL viewer v2.5, and the RLV was lagging behind until now.

Secondly... well there are a lot of commands that I always wanted to add, and that are now going to be live soon. See for yourself :

- added : Notification to scripts on clothes and attachment changes. This allows a script to be notified when the user wears or unwears an outfit, without having to constantly poll for the list of worn items. The notifications are "(worn/unworn/attached/detached) (legally/illegally) (path_to_outfit)"
- added : "@adjustheight" command, as implemented by Henri Beauchamp (see http://sldev.free.fr/forum/viewtopic.php?f=7&p=1847#p1847 for details).
- added : "@attachoverorreplace", "@attachthisoverorreplace", "@attachalloverorreplace" and "@attachallthisoverorreplace" commands, which now do what respectively "@attach", "@attachthis", "@attachall" and "@attachallthis" used to do from v2.0 to v2.4.
- added : "@setgroup:(name)=force" command to force the user to activate the specified group (they must be a member of course). "none" will deactivate the group tag.
- added : "@setgroup=n" to prevent the user from switching groups.
- added : "@getgroup=2222" to obtain the name of the current activated group of the user. Please note that the UUID of the group is not disclosed, only the name, to stay consistent with the LSL API.
- added : "@touchworld:(uuid)=add" exception to allow to touch an specific object in world even when "@touchworld=n" is active.
- added : "@touchthis:uuid=n" restriction to prevent from touching one object in particular.
- added : "@unsharedwear=n" command to prevent the user from wearing anything that is not under #RLV. (*)
- added : "@unsharedunwear=n" command to prevent the user from unwearing anything that is not under #RLV. (*)
- added : "@detachthis_except:(folder_child)=add" to add an exception to a "@detachallthis:(folder_parent)=n" restriction, provided that (folder_child) is contained somewhere under (folder_parent) and that "@detachthis_except" has been issued by the same object (this kind of exception does not work between different objects, on purpose). (*)
- added : "@detachallthis_except:(folder_child)=add", same thing as above but will include all the sub-folders in the exception as well. (*)
- added : "@attachthis_except:(folder_child)=add" to add an exception to a "@attachallthis:(folder_parent)=n" restriction, provided that (folder_child) is contained somewhere under (folder_parent) and that "@attachthis_except" has been issued by the same object (this kind of exception does not work between different objects, on purpose). (*)
- added : "@attachallthis_except:(folder_child)=add", same thing as above but will include all the sub-folders in the exception as well. (*)
- changed : "@attach" now does not care about the "+" character in the beginning of a folder when attaching it anymore, this command will now always replace what was previously worn, exactly like it used to do in v1.x. The "@attachoverorreplace" command and its derivatives will do what "@attach" used to do from v2.0 to v2.4 included. This spares the script from having to "guess" whether an outfit would stack or replace when wearing it with "@attach".
- changed : Now "@attachall:=force" (notice the lack of option after the colon) is ignored, to avoid a common mistake that would make the user attach their whole #RLV folder (and given the time it takes, probably disconnect their viewer in the process).
- changed : The minimap is not hidden anymore when "@showloc=n" is issued.
- fixed : Could remove the jacket layer even when contained into a shared folder and "@detachthis:jacket=n" was issued.

(*) : These new commands are extremely helpful when you want to lock everything except a particular folder (and its subfolders if you need). You can for example issue a "@attachallthis=n" command to lock the whole #RLV off, followed by a "@unsharedwear=n" command to make sure that no other folder can be worn instead (locking the inventory out would work well too but would be a bit overkill), then issue a "@attachallthis_except:boots=add" to allow the avatar to wear only what is contained inside the "#RLV/Boots" folder (if any) or any of its children.

Of course, while a folder is locked that way, the user is unable to rename it, move it, or move its contents. Moreso, since such an exception is valid only with restrictions issued by the same object, if another object issues a "@attachallthis=n" command, this will completely void the exceptions issued by the former object and lock the whole #RLV folder anyway.

Finally, the RLV checks the closest parent's restriction when it comes to determining whether an outfit can be worn or unworn. In other words, you can decide that a folder and all its children are locked off, except one sub-folder that can be worn, and a couple of its own children cannot.





All these features are coded and tested, so unless something happens in the meantime (a huge bug when testing or yet-another-super-interesting-command coming up and me feeling the urge to add it to this version), the new RLV 2.5 should be released during the week. The only thing I am still missing is a Starlight skin to go with it.

I must add that I am also working on the Outfit plugin for my products, in order to include the new "@attach[all]this_except" and "@detach[all]this_except" commands. This should make the management of outfit restrictions much more interesting. These commands are also what I was waiting for before I could actually write this Outfit tutorial that I have been promising for nearly two years now. Heh.

Have fun !
Marine

Wednesday, March 9, 2011

Vixen Leather Training Set

Hi there, long time no see !

I've been busy lately, and this blog post is going to show you what I've been busy on : a new product called the "Vixen Leather Training set".

Because it is leather, it is tight, it is sturdy, and it is definitely meant for training your favorite vixen, as you can see by looking at the pictures :



This set is very much like the Serious Shackles and the Restrained Elegance Shackles, and is to be used the same way. One collar, four arms cuffs, two legs cuffs. Oh and also a few bonuses...

For one, the collar is actually 4 collars in 1. The same object has 4 different appearances, a simple leather collar (looking very much like the cuffs), a classy version for everyday use, a medium posture collar and a high posture collar. See for yourself :

Simple

Classy

Medium posture

High posture


The cuffs also have a few surprises. Beyond the usual bondage (chaining the hands in front, behind the back or along the body), they come with two interesting pieces of equipment : a leather binder and a yoke. The leather binder binds the arms behind the back in a U, very useful for workout and ponyplay, while the yoke locks itself directly on the collar (the "Reshape" plugin allows you to resize the yoke to your shape). Told you this set was meant for training !

The chains

The yoke

The U-Binder


As for the legs... it gets even better. You have the usual loose chaining of the ankles to slow the sub down, a hogtie (the same one as in the Restrained Elegance Shackles), and not one but four spreader bars. Standing, sitting, laying down and hogtie, all with the legs spread widely apart. Like the yoke, the "Reshape" plugin allows you to resize the spreader bar without having to edit it by hand. Did I tell you this set was meant for training ? Hehe.

Spreader bar, a classic


Sitting on a spreader, try to get out of this one


Moving around in this bondage is fun


Of course black might not be your color of choice... Fret not, you can customize the cuffs entirely. Main leather, straps, trim and metal parts can be colored independently through the "VixenTex" plugin. Most textures are color variations of the leather texture, but you also get a black latex texture and a brown cow hide texture.





And last but not least, the legs cuffs come with a little plus : the ability to lock high heels on with a small strap that goes under the sole. For long sessions of, uh, training, y'know. Of course since the set uses the RLV, the shoes are really locked on when the strap is applied. Moreso, since every heel is different, the "LockShoes" plugin embedded in the legs cuffs allows you to actually rotate and stretch the straps as you see fit.

It does add some special look to the heels on top of it !

So if you combine everything, you get a quite devious set of sober but elegant leather restraints that is guaranteed to keep your little vixen squirming. Or perfectly still, if so is your choice.


Have fun !
Marine