Friday, December 18, 2015

RealRestraint update to v1.28

Hi !

It's been a while ! RL has taken most of my time lately, but I've also been working on the next update for the RealRestraint products !

This update to v1.28 is focused on adding some interesting features to several products, but also overhauling a very old product, the Slave Crate, and of course fix some bugs. What would be an update without bug fixes, right ?

Before we jump to the release notes, let me say that some of the products you'll update will require a replacement, others will not. Some of the changes are merely modifications to single scripts contained into the root prim of the main item (for example, the Leash plugin is in the root prim of the right wrist handcuff), but some changes required me to move prims, or to add scripts to the restraint's inventory. In those cases, a replacement is in order.

For each entry in the following release notes, if it is colored blue, it means that if you want this feature, you will have to have your product replaced, but you can still use the old secondary parts (for example the chest straps of the Highbinder, or the chest ropes in the Shibari, etc) so you don't have to resize them all again, as they haven't changed at all.

If an entry is colored red, then you will need to have this product replaced and you will need to use the new secondary items as well. Only a few products fit that category, so don't worry.

Otherwise, if an entry is just in bold, a simple update will suffice to get that feature. The updater knows which product needs a replace and which one does not. But if your product is not v1.27, it will have to be replaced anyway.

By popular request, here is a table that recapitulates what products need an update and what products need a replacement :

And now, on to the change list...

Deluxe gag

* Materials : The HeadHarnessTex plugin in the Deluxe Gag now provides a way to change materials, just like the Highbinder's HighbindTex plugin. Before this change, the Deluxe gag was only made of leather, now you can choose latex, rubber, PVC, Spandex, Cordura, Jeans etc.

Black Cordura panel gag

* Clear plastic : Among the materials, you have the ability to choose "clear plastic". This doesn't sound like much, but it implies a lot of changes ! For example, the panel has been redesigned to get rid of the invisi-prim (the one that was in charge of hiding the lips), as invisi-prims also hide transparent textures. To set it to clear plastic you have two options. Either you press "clear plastic" in the Presets menu of the HeadHarnessTex plugin, or you select "Clear" as the Pattern and "Latex" as the Material. But you can select other materials as well, such as Rubber or PVC, after all. The "Clear Plastic" preset replaces the "Blue Jeans" one but you still have access to the "Jeans" material in the Materials menu anyway. I cannot add clear plastic for the Highbinder though, as it is tighter than the arms it binds, so it has to hide them (either with an alpha layer or by hiding the arms of the mesh body).

Clear plastic panel gag with ball

* Additional styles : The addition of clear plastic also led to the addition of a wad of cloth (same one as the Mummy gag) and a plastic dildo, made just for this ! Those are included in the Style plugin, depending on the type of gag (you can have the dildo show in "Simple Ball", "Harness ball" and "Panel" locks, while the wad of cloth appears only under the panel).

Clear plastic panel gag with wad

Clear plastic panel gag with dildo

As you can see, this really is a dildo !

Don't protest, it's good good training for you.

* Shrinking : Some people were unable to shrink the Deluxe gag much, simply because of a recent improvement in v1.27 : the ring straps (the ones at the corners of the mouth) had been cut in two parts to facilitate adjusting, but as a result, those parts were very small and could not be shrunk much. Meaning the whole object could not be shrunk much either. Now those two straps are still visually small, but their actual size is much bigger and you can shrink your Deluxe gag by half or so.

Thanks to this increased bounding box, those straps can be shrunk must further.

* Chin strap : When the Deluxe gag was set to "Lock", the harness would appear but the chin strap would dangle loose under the chin... Now I have added a script that will automatically resize and re-position the chin strap according to whether your mouth is open or closed. But to get that, you must set both positions, rotations and sizes manually first. To do that, simply move, rotate and resize that prim when your mouth is closed, then do it again when it is open. It doesn't get any simpler than this. Please note that it commits the change only when you resize it though, due to an SL limitation. Kudos to Nicki Petrichor for the idea.

Deluxe gag on "Lock", mouth closed

Deluxe gag on "Lock", mouth open, but it is not the gag that opens the mouth

Resize this prim once while your mouth is closed, then a second time when it is open and voilĂ  !

* Vulnerable : I added a Vulnerable plugin to the Deluxe gag. Not because you are more vulnerable when gagged, but because I realized it is very useful in pony play, when someone wants to grab a pony's reins even without owning her keys. Of course, like all Vulnerable plugins, it must be authorized by the pony first.

* Exclusivity : Made the gag negotiate with other gags to find out which one garbles your speech and which ones remain silent (see below for details).

* Lower garbling : Apparently the Deluxe Gag was garbling too much, making it incomprehensible and not fun. I have lowered the garbling level down to that of the ball gag, ring gag and tape gag. Level 2 garbling for simple ring and ball, level 3 garbling for harness ring, ball and panel.

Deluxe blindfold

* Materials & clear plastic : Like the Deluxe gag, the Deluxe blindfold now provides a way to change materials (the same as the gag), and also has a clear plastic option now. As a result, since a transparent blindfold is not very useful, a pair of eye pads have been added. If you own the Pretty Mummy set, you may recognize them.

Black latex Deluxe blindfold

Now there are eye pads underneath the blindfold

Deluxe Bridle

The Deluxe Bridle being an addon for the Deluxe Gag, replacing (not updating) your gag will also give you a new Bridle as well, with the following changes :

* Materials & clear plastic : Being an addon for the Deluxe gag, the Deluxe bridle will also change materials according to the gag. Please note that to add materials (other than leather) to the gag, blindfold and bridle, I had to replace the leather textures with their plain counterparts. This doesn't change much, except on the blinders HUD, because HUDs cannot render materials (don't ask me why, this is a viewer "feature"). This means that the blinders will now look plain instead of leathery.

* Chin strap : Likewise, the chin strap of the Deluxe bridle also moves according to whether your mouth is open or closed. Set its two positions and sizes the same way you did for the gag, and it will work.

Like the Deluxe gag chin strap, resize this prim once while your mouth is closed, then a second time while it is open.

Body harness

* Materials & clear plastic : Just like the Deluxe gag, blindfold and bridle, the Body harness is now able to change its materials through its HarnessTex plugin. The materials are the same ones as the Highbinder, plus an option for clear plastic ! You may notice that the edges of all the rigged parts (and only them, not the unrigged ones) look like there's only half of the strap curved. I agree it's a bit strange, and there's nothing I could do to change that. It is simply a rendering issue.

Clear plastic Body Harness

* Optional tighter rigged straps : The body harness often looks loose on the belly on the Maitreya mesh body because that mesh body is quite thin at the waist, thinner than the system avatar. Normally, girls have organs, too ! But since it is so popular (and I'm a user as well), I have made an alternate version of the crotch and stomach rigged parts that are closer to the skin. The result, to me, is more than acceptable. It cannot be exactly against the skin because the avatar sometimes bends backwards and I want to avoid clipping, that's why there is a little space between the strap and the body. But at least if you're a Maitreya user, you won't look like you're floating in your harness anymore.

This is the Body Harness with its alternate rigged mesh parts, on the Maitreya body


* Moved the root prim : I have moved the root prim of the Highbinder down to where its D-ring is, so that the Anchor button of its Leash plugin makes a leash coming from another restraint go to that ring, instead of the middle of the restraint. I also moved a couple chain scripts from the D-ring to the root. Doing that allowed to fix the conflict between the Highbinder's own leash and its chain going down to the police legirons, when worn.

All gags

* Exclusivity : Here is a feature I've been wanting to add for a while. Sometimes a captive wears several gags, for example a ball gag and a tape gag over it. And sometimes even a hood over the whole thing. Most often, the more gags the better ! Only... it would create conflicts. Before v1.28, the top had to set all gags to "Total" except one, and suppress all emotes except on that same gag. Short of doing that, each gag would garble the speech its own way and say something on the chat, and emotes would be repeated. The solution was cumbersome, not obvious and not documented. Now, the gags will negotiate among themselves to find out which one must garble your speech, while the others will remain totally silent. Same for the emotes. With this feature it all becomes automatic, you don't have to do anything anymore to choose which gag garbles the speech. The rules are the following, they are tested in order :

1) The most covering gag wins (tape, hood and panel cover more than ball and dildo, which cover more than ring and bit).
2) In case of a draw, the highest lock wins ("total" is higher than "tight", which is higher than "medium", which is higher than "loose").

3) In case of a draw, the gag that was locked first wins.

* Chat-in-emote & emote-in-chat : Another feature I wanted to add was "chat-in-emote" and "emote-in-chat". I got the idea from Danna Pearl's SubListen HUD (Danna is one of my slavegirls and a close friend, I of course asked her first if she didn't mind that I reproduced that feature, credit goes to her for imagining it in the first place). The principle is simple : if you put something between stars in a chat message (for example 'Yes Mistress *smiles*' => 'mmph mmnmph *smiles*'), that part is treated like an emote and won't be garbled (but counts against emote limitations, if any). Likewise, if you write something between double quotes in an emote, it will be treated as chat and garbled as such (for example '/me smiles "Yes Mistress"' => '/me smiles "mmph mmnmph"'). This is a very natural way for a lot of people to roleplay, so hopefully this will help them.

All legs restraints

* Exclusivity : Like the gags, multiple legs restraints tend to step on each others toes (pun totally intended). For example, a captive could wear ankle cuffs on "taut" and legs straps on "hobble". The result would be a hobbling girl, but short of turning "Autoref" off on the ankle cuffs, her movements would be a bit erratic, not to mention her animations. Once again it was cumbersome and the solution was not obvious. "Autoref" did help, as it would turn off the automatic refresh of the animation (necessary in case of a conflict) and the controls on one restraint. Now, just like the gags, the legs restraints will negotiate among themselves to find out which one must control your speed and animate your legs, while the others will totally ignore your controls. There may sometimes be an issue where the wrong animation plays right after locking a stronger restraint, due to a race condition that I can't really control, in this case just move slightly and it will be fixed. Due to the fact that I had to rename some of the Hobble scripts to give them different speeds, to get this feature you must replace your legs restraints, but only in the case of the Legs Straps, the Shibari Legs, the Siren Legs and the Mummy Legs. The other legs restraints will get this feature with a simple update. The rules are the following, they are tested in order :

1) The slowest speed wins.
2) In case of a draw, the highest lock wins.
3) In case of a draw, the restraint that was locked first wins.

Wearing two legs restraints at the same time


* No limit : Until now we were limited to 15 m... but in some public sims that was not enough, such as Stones N Rubber that required the ponies to have a 20 m leash in order to run laps. Now the "15 m" button has been replaced with a "Custom" button that lets you choose the length you want. It is not limited (well, to 10 km maybe), despite an SL limitation, you can make it as long as you want. The "-1 m" was removed and "70 cm" (the minimum) took its place back, since you can now be as precise as you wish with the "Custom" button. Of course, if you are too far to the leash ring you are chained to, it might not be visible in your viewer (I mean rezzed) so the chain would not appear until you get closer, but that's beside the point.

* Automatic unleashing : Sometimes a captive is left leashed by mistake, her leash being active but with nothing to connect it to. I know, it happened to me many times as well. It can be annoying when it happens, as you can walk around but not teleport, and you had a chain dangling down uselessly from your collar ring. Now, when the target of the leash (either an avatar or a leash ring in-world) is not detected consistently for 15 minutes straight, you are automatically unleashed. The leash holder is notified in IM when it happens, just in case, so no sneaking your way out ! Thank you JiaDragon Allen for the idea.

Duster gag

* No twitch : There was an annoying twitch of the neck at the end of 4 of the animations of the Duster Gag, it is now fixed and should blend smoothly.

Slave Crate

* Overhaul : The Slave Crate has been overhauled (it was needing it badly, this is one of the oldest RR products and one that didn't get much attention over the years) : there are now 4 locks instead of 1 (Standing and laying with the door open, standing and laying with the door closed), it can be locked invisible, it does not hide all the incoming chat anymore (that feature was made before I even started working on the RLV, but now it is rather obsolete), you can control what the captive can hear through its SlaveCrate plugin (which is a renamed Hood plugin, it lets you block incoming chat and IMs), and you can even change the side picture through its SlaveCratePic plugin (before v1.28 you had to do it manually).

Police handcuffs, legirons, elbows and belt

* Lockmeister :
Added a Lockmeister script into each relevant ring, as they didn't seem to link chains to some pieces of furniture. Other restraints already had the Lockmeister scripts, but not the Police set. Thank you Maruja Zelin for the heads-up.


* Autolock : Until now, each macro could run either only while the restraint was unlocked, or all the time. Now there is a third setting letting it run only while the restraint is locked. So now you have "While free", "While locked" and "Continuous". It makes more sense that way.

* Autolock : Until now, when a macro was executed, the key would go to the current keyholder, if any, or to the author of the macro if the key was available. I felt it was a big complicated, and would not allow for some subtle games... So now when a macro is executed, the key goes to its author in all cases, even if the keyholder is someone else at that time (unless of course the macro is programmed to leave the key on, like before).

* Autolock : Allow for 10 seconds delays. They will show as "00:00" but they are really 10 seconds (the timers are expressed in HH:MM format, that's why). Simply remove 1 hour to the delay until it shows "00:00" and you'll know the delay is set to 10 seconds. It is not really 10 seconds, in fact, but "the next time the main script gives Autolock its regular tick", which may happen anywhere within the next 10 seconds.

* Anim : "Autoref" now shows on the menu where "Main..." was. This is made that way so that the captive can toggle Autorefresh from her RR Anim HUD without being able to access the main menu that way, since she could be restricted from touching and from using /77.

* Clicking on the RR HUD : Now when /77 is off, clicking on the RR HUD (the reddish prim that blocks your click when "Block" is active) won't bring up the menu anymore.

* Hidden timer : Now when the timer is hidden, setting it or adding time to it will still show "Timer set" exactly once (the first time we add some duration), just like it shows "Timer reset" when the timer is cleared. The timers will also show on the menu, except the time left which will be marked as "hidden" if the timer is hidden. Makes more sense that way, there was no reason to hide all the timers.

* All gags : When the emotes are suppressed, don't show "emotes suppressed" anymore, show nothing at all in fact. This is in case you are using a v1.28 RR gag along with another gag that is either 1.27 or another brand. That way you can simulate the Exclusivity feature even with other gags.

* All restraints : Make it so the main plugins (RL_Time, RealKey, GiveKeys and Leash) respect the Verbose/Silent setting of the main script. There is still some more work to do on that matter, but this requires inspecting every single script, so it takes time.

Bug fixes

* All restraints : Removed the free memory number on the menu of the main script.

* All restraints : Some struggling animations were interrupted prematurely.

* All restraints : Double chat message when the wearer of the restraint holds its leash.

* All restraints : Bogus "is trying to manipulate this restraint, and may be able to retrieve its key by using a RealKey." message when logging on or rezzing some of the restraints. That message was harmless (nobody was really trying to manipulate your restraint), but annoying nonetheless.

* All restraints : When Examining while struggling, "no clue to get loose" becomes "no idea how to get loose". Me speak English good. Yes yes.

* All restraints : When disabling Autorefresh while sitting, stop the animation immediately.

* All restraints : Clicking on a blank button in the Plugins Browser could confuse some plugins and core scripts. Rare case, but I've seen it happen.

* All restraints : When /77 and touching were off, we couldn't get the menu when the keys were given back on the Armbinder and the Highbinder.

* All restraints : We couldn't choose "Just lock" in the Autolock (more precisely we could, but it didn't do anything) when the restraint had no special lock or pose, for example the Slave Crate and the Body Harness.

* All restraints : The Vulnerable plugin didn't work when just "locked", it had to be locked in a pose.

* Shibari ropes, Siren ropes, Highbinder, Harness, Deluxe Gag & Blindfold : The tint was not always well recognized when entered manually (you can either write it as decimal numbers between 0.0 and 1.0 such as "0.1 0.2 0.3" or as integers between 0 and 255 such as "255 128 0"), the algorithm could fail at telling whether it was a decimal or an integer form. It is fixed now, and on top of it, the SirenTex and ShibariTex now provide a text box like the other texture plugins, instead of asking you to say the tint on the chat (which is not easy when you're gagged !). Thank you Ariel Erlanger for the heads-up. Please note that the Siren ropes are in red for another reason... If you simply update them normally you will lose the ability to change their texture. This is because the Visible scripts are the ones in charge of changing the texture in the secondary item, but for some reason they are not able to handle the messages coming from the new version of the SirenTex plugin. I realized that only too late, sorry.

* All collars : Animations which name begins with a star ("*") were supposed to be ignored. Now they are indeed ignored. Thanks to HomelessUnicorn for the heads-up.

* Elegance and Serious collars : The text did not switch to the wearer's first name after changing owner.

* All gags : Emotes now all have a 20 m range, even those going through a ball gag or a tape gag (those had a 10 m range before).

* All gags : Manually changing the channel didn't seem to work well. Thank you Myggen for the heads-up.

* All gags : When changing the name of the gag to the display name of the wearer, sometimes the characters are too exotic to have them print on the chat window. When that's the case, show the user name instead.

* Deluxe gag : We could speak through "Total Ring", while "Total" is supposed to stand for "no talking at all".

You can find an updater at the following places in-world :

My little shop

The Little Shop of Kink

Roper's Dark Playground

Chorazin's main store

It looks like an orb floating above a pedestal, just click on it and follow the instructions.

Have fun !