Monday, April 24, 2017

Interview by Defiance Magazine

Hi !

This is old news as the magazine has been out for a month, but a friend of mine reminded me about it... I've been interviewed in Issue 5 of Defiance Magazine by TrinaCarlsson, who runs Serenity Lost.

This interview is pretty in-depth and lasted much longer than planned (it took more than three hours) and the result, edited, takes 10 pages !

Who said I talk too much ?

Anyway I thought this would interest you, since I go into details on RR, RLV, why and how it all started, what are my plans, and the like. Here is the link to the magazine, the interview starts at page 194 :

The rest of the magazine is very good too, and written very professionally. I really enjoyed reading it all. Keep up the good work Trina !

Enjoy !


PS : Yes, 14 pages, without a typo (and I made a few), and without my infamous "space before exclamation mark" punctuation habit (which has its own good reason that I won't explain here).

Tuesday, April 18, 2017

Another hotfix for the RR Mummy and Tape gags

Hi again,

Sooo... this time it seems I forgot to update the names of the prims of the tape gag and mummy gag. Tsk tsk. The result is that they don't show in "Total" anymore, since the old "Total" lock became "Big" and the new "Total" didn't exist before. Actually I did change the names but in my personal gags, not in the retail ones. *spanks self*

If your mummy and/or tape gags do not show in "Total", this means their individual parts are not named correctly. Let me give you a little bit of technical background here, the Visible script contained inside nearly all the RR products is in charge of hiding and showing all the parts of the item it is contained into, depending on the lock, on the availability of the keys, and on a lot of other factors such as the settings in the Style plugin. To do this, it simply reads the names of all those parts and interprets them like formulas.

This hotfix makes it so all the individual parts of both gags are now correctly named, but... it requires a replacement, a soft update will not fix it. And I know that you don't like to replace because this means resizing again, and resizing is a pain so below is a step-by-step explanation for you to do it yourself, if you feel like doing it. Renaming prims is easier than resizing them.

If you do not want to bother with doing it by hand and prefer to have your gags replaced, simply go to one of these locations, click on the updater there and follow the instructions like before :

My Little Shop
Chorazin's Shop
Roper's Dark Playground
Dark Wishes

But if you feel adventurous, read on.

For both gags, you need to edit them (either while wearing them or after rezzing them on the ground, it makes no difference) part by part, by clicking on "Edit Linked" on the Edit window, and clicking on each part individually. For each part you see its name and its description, what you need to change is its name only, as the description is used for texture stuff. If you want more details, what is missing is the "5" number (that's "Total" now, but it used to be "4", the 4th lock on the gag). For each part, I will show you what to write in the name field, just copy the formula from here and paste it into that field in SL. You will not need to reset anything, as soon as you changed the names, you're good to go.

For convenience I show you an exploded version of the gags but of course yours don't look like that. Don't forget to press Ctrl Alt T to see invisible things, since they are invisible while untied.

The Tape gag

Invisiprim (here in white so you can see it on the picture) : "$1+2+3+4+5:1/0,tapegagtex,invisiprim"

The two small squareish tapes on the cheek : "$4+5:1/0,tapegagtex,total up r"

The two big diagonal tapes : "$4+5:1/0,tapegagtex,total r"

The big middle tape : $3+4+5:1/0,tapegagtex,tight

The two lower and upper tapes : "$2+3+4+5:1/0,tapegagtex,med dn"

The inner tape doesn't change, it stays "$1:1/0,tapegagtex,loose"

The Mummy gag

The top nose part : "$Sp+5p:1/0"

The main part : "$0%2+3+4+5:1/0 $1%3+4+5:1/0 $2%4+5:1/0"

The "very funny" part : "$2v+3v+4v+5v:1/0"

The two ear parts don't change

The ribbon part : "$4+5:1/0 !b:0"

The upper neck part : "$Sq+5q:1/0"

Sorry again for the inconvenience,


Hotfix for the RR gags

Hi !

As mentioned in the blog post about the update for the RR gags, there is an issue that happens when you click on "Stop Animating Me" in the "Me" menu of your viewer, and your "RevokePermsOnStopAnimation" debug setting is set to TRUE (which is the default value). When you do that, your viewer revokes all animation permissions it granted to any object, furniture and attachments alike. Problem is, the gags request permission to animate only when reset so when they lose permission, they have to be reset (you can do so by clicking on the gag, going to the "Tools" menu and pressing "Reset").

This was a bit weak on my part, I should have coded this more defensively, so this is what this hotfix does. It makes the gags request permission every time they rez, and every time they are expected to animate you without having permission to do so. Don't worry, permission requests are silent on attachments so you won't get spammed.

The concerned gags are :
- Ball gag
- Ring gag
- Deluxe gag
- Pretty Mummy gag
- Tape gag

Not the Isolation Hood since it does not use the OpenMouth plugin, which is the script that needs to be fixed.

To get this hotfix, simply go to Dark Wishes, click on the updater there and request a soft update (select "Update" on the menu instead of "Replace"). Be aware that this particular updater is not like the other three, it only updates the aforementioned gags. Well, it provides replacements as well if you so wish, but it won't upgrade your restraints to 1.29 (let alone 1.30) if they are older.

Have fun and sorry for the inconvenience,


Wednesday, April 12, 2017

Update to the RR gags

Hi there,

Please note : If you are experiencing issues after clicking on "Stop Animating Me" in the "Me" menu of your viewer and your gag stops animating you, you have to reset it (click on it when unlocked, Tools, Reset) and/or update it at Dark Wishes. See this blog post for details.

I have been pretty quiet lately because aside from RL work I was busy working on the next update of the RealRestraint products. This is a big update that has several focuses, so big I am actually splitting it in several parts otherwise I would never get anything out.

This post here is about the first part, the update to the RR gags (basic ball gag, basic ring gag, basic tape gag, Isolation Hood, Pretty Mummy gag and Deluxe gag) to make them compatible with Bento mesh heads, because before this update, when you wore a mesh head those gags could not automatically open its mouth when locked, you had to do it manually or through a third party plugin (either they would play an open mouth animation of their own, or they would make the mesh heads call a built-in one, depending on the plugin).

A little reminder of what Bento is, if you're not using a mesh head and are considering buying one. Bento is a change to the SL avatar's skeleton, adding many "bones" to it such as a tail, wings, hind legs, fingers and more importantly in our case here, facial bones to make facial animations. This is a big step forward for SL and allows us to finally animate the face without being limited to the handful of system animations that look kind of goofy and cartoonish. There are limitations though, such as we can't squeeze the lips inwards (well, we can but then the skeleton is deformed), but still this is a very big improvement, enough to entice a lot of people to switch to mesh heads.

It is important to know that although the SL avatar has an enhanced skeleton, the new bones do not animate the SL avatar mesh (the body you have when you are not wearing a mesh body) to avoid breaking existing content. In our case, this means we can't use Bento animations to animate the SL system head.

Before I go ahead and explain what changes with these gags, let me briefly expose the objectives of this update, for there are many.

Firstly, the gags will still work with system heads like they always did, i.e. they still use the "express_open_mouth" face expression we all know. This update does not change that, however since this is the only open mouth animation you can play on system heads, if you do not have a mesh head you will only partially benefit from this update.

Secondly, the old "OpenMouth" script common to all RR gags now becomes a plugin. The reason for this is that it was way too limited, all it was doing was open the mouth of the system head as soon as the gag was locked, regardless of its lock and style. It was one of the oldest and simplest scripts in the RR suite, and needed a complete overhaul to handle both the system "express_open_mouth" animation and custom Bento animations. The plugin has its own tutorial/manual page here : &&& plugin page. If you do not want to read that page yet, here is the short version : the OpenMouth plugin lets you choose which facial animation to use according to the lock of your gag, depending on which one you prefer and how it looks on your own Bento mesh head. Attention, it does not work with non-Bento mesh heads.

Thirdly, the basic RR gags, in particular the ball gag and ring gag, were being overshadowed by the RR Deluxe gag. This is a case of me competing against myself, and I don't want those two gags to become obsolete because there is a better one in the very same brand. For this reason, this update completely overhauls them, turning them into mesh gags (with the same design and textures as the Deluxe gag), and what's more, contain one more lock called "Big". I will talk about it more below. Please note that although the "Big" lock is not available for the Deluxe gag because of the lack of room on the menu and protocol, the "Big" and "VeryBig" animation variants are still contained in it, because why not. More customization for you.

Fourthly, you will notice that the gags are updated to v1.30, and there is more to v1.30 than just gag stuff. Let me write the highlights here that are relevant to the gags only, but those highlights will be repeated in the release notes of the update itself once it is out :

* Basic ball gag and ring gag
  - Turned into mesh, using the same mesh and textures as the Deluxe gag, including the neck pieces
  - The neck pieces are never RLV-locked so you can always detach them if you need attachment slots
  - Turned the old OpenMouth script into a plugin to help you manage Bento animations
  - Added a chin strap to both
  - Added a rubber cock to the ball gag
  - Added a rubber bit to the ring gag
  - Handle the visibility of the ball/cock and ring/bit + chin strap through the Style plugin
  - Added a lock called "Big" that opens the mouth wider (Bento mesh heads only) and display different parts of the gags, as well as garbling even more heavily (equivalent to the old "Harness ball" and "Harness ring" garblings of the Deluxe gag)
  - Made the "Total" lock (which suppresses all speech) look like "Big"
  - Added a second ball + second cock + second chin strap to the ball gag to handle the visibility of the "Big" and "Total" locks. If you want to suck on a huge dildo, here's your chance !
  - Added a second ring + second bit + second chin strap to the ring gag to handle the visibility of the "Big" and "Total" locks
  * Deluxe Gag
  - Split the straps that show only in the "Panel wad" style, and remodeled them to make them easier to adjust
  - Split the ball gag front straps in two to make them easier to adjust
  - Turned the old OpenMouth script into a plugin to help you manage Bento animations
  - Added the "Big" and "VeryBig" animations also contained in the ball gag and ring gags, for more customization, but there is no "Big" garbling like in the other gags, because lack of room
  - Modified the shape of the panel to make it easier to resize over mesh lips
  - There were two HeadHarnessTex_slave scripts in the panel prim for some reason, I removed one of them

* Tape gag
  - Turned the old OpenMouth script into a plugin to help you manage Bento animations
  - There is no animation specifically for tape gags because you can't squeeze the lips, only rotate them (well you can translate them and it does work, but then the skeleton is deformed afterwards and that's bad), so instead I included all the ring and ball animations into it so you can choose the ones you prefer.

* Pretty mummy gag
  - Turned the old OpenMouth script into a plugin to help you manage Bento animations
  - Like for the tape gag, there is no animation specific for tape gags so you get all the ball and ring gag animations instead and you can choose the ones you prefer.
* Isolation hood
  - Turned the old OpenMouth script into a plugin to help you manage Bento animations
  - Re-adjusted the invisiprims to hide the lips and ears of mesh heads under the hood (since alpha layers do nothing to mesh heads, and not all mesh heads have alpha cuts to hide specific parts of the mesh). I know not all viewers render invisiprims, some people call them a "ugly hack" and hate them with a passion, but there are cases like this where there is simply no other option.
  - Like for the tape gag, there is no animation specific for tape gags so you get all the ball and ring gag animations instead and you can choose the ones you prefer.
* All restraints (this is the "non-gag" part of the upcoming v1.30 update that impacts the gags too)
  - When "/77" is off and the wearer does not have full access, accessing the restraint by touching it or by calling it with "/77 restraint_name" will lead to the plugins browser instead of being ignored, this way the wearer can still customize their restraint even if they cannot struggle. Likewise, clicking on "Main..." on any plugin (including third-party ones) will lead back to the plugins browser instead of the main page.
  - We can now do suspension with the leash without bouncing ! This has been a popular request for years and I have always postponed it but this time it's done.
  - When the leash holder is too far (beyond 96 m or beyond length*2, whichever is closer), the sub will not be yanked to them anymore, to avoid being flung in the air when TPing from one place to another in the same sim. This effectively makes leashes longer than 100 m useless but hey, 100 m is no leash, this is a tractor beam.

"Normal" ball gag

"Big" ball gag

"Normal" ring gag

"Big" ring gag

"Normal" ball with chin strap

Ball gag in "Simple cock" style

Same gag, same style, but this time in the "Big" lock

Ring gag in the "Chin bit" style

Same gag, same style, but this time in the "Big" lock

Unlocked ring gag, hanging around the neck

The big highlights here, aside from the whole OpenMouth plugin and its Bento animations, is the fact that you now have more content added to the basic gags, for the same price, such as two different shapes for the ball and ring, and a rubber cock and a rubber bit plus a chin strap on top of it, for a more fetish look. That and you can now use the same textures as the Deluxe gag (or make your own), while you were limited to only a black leather prim strap before.

One word about the chin straps : unlike the Deluxe Gag which shows when locked, the ball and ring gags do not, they're invisible on "Lock". Moreover, there are two chin straps per gag, one shows in "Loose", "Normal" and "Tight", the other shows in "Big" and "Total". This means that unlike the Deluxe gag, there is no script that saves the size of the chin strap according to the mouth state, it is simply two different straps, only one showing at a time at most.

To update your gags, simply go to one of these locations :

My Little Shop
Chorazin's Shop
Roper's Dark Playground
Dark Wishes

Then click on the updater there, rez the update orb, start an update on your gag and request a replacement (choose "REPLACE" on the menu instead of "UPDATE"). The old gag will be deactivated, i.e. emptied from its contents, and you will be given a new box. Do NOT decline it as it would destroy it instead of sending it to your Trash folder and you would have lost everything. And I wouldn't redeliver since it is no-copy/trans. So please go easy on that "decline" button.

Actually the Isolation Hood does not really need a replacement (all the other gags do, since their structure and/or contents have changed). If you do not want to replace the hood, you can resize the two small invisiprim spheres contained inside the head, I never removed those so have at it.

I hope you will enjoy this update to the gags while I keep working on the rest of the v1.30 update !


PS : A big thank you to Danna, as well as Angie and her friends for helping me test the new version of the gags with different mesh heads and shapes !

Tuesday, April 11, 2017

RR tutorial : OpenMouth plugin

Hi !

Please note : If you are experiencing issues after clicking on "Stop Animating Me" in the "Me" menu of your viewer and your gag stops animating you, you have to reset it (click on it when unlocked, Tools, Reset) and/or update it at Dark Wishes. See this blog post for details.

This plugin is meant to let you control how your mouth looks when you are gagged. Its power shows when you use a Bento mesh head such as Lelutka, Catwa, Ga.Eg or others, there are many out there, but it also opens the mouth of the standard avatar's head as well so a mesh head is not required.

To make use of this plugin, your gag must be v1.30 or higher and contain the "&OpenMouth" script (with the "&", otherwise it is the old script and not the plugin) and its "*OpenMouth config" configuration notecard.

Attention, if you own a mesh head that is not Bento, the gag will not open your mouth automatically. You will need to do it manually or buy one of the third-party plugins that call the head's built-in API to open the mouth when locked (the API depends on the head so I guess the third-party plugin you want depends on the head too). Third-party plugins not being developed by me (hence the name), they are beyond the scope of this blog post.

The "OpenMouth" plugin is the replacement of the old "OpenMouth" script that is common to all RR gags, and which was responsible for opening the mouth of the avatar whenever the gag was locked. Really, it was as simple as that. But now that we have Bento and many animations and mesh heads to choose from, this OpenMouth plugin lets you pick the one animation that looks best on you. The difference between a plugin and a script, in RR, is that a plugin offers a menu to let you control it, and gives access selectively.

See for yourself :

This is the RR ball gag used without a mesh head. As you can see the mouth is open but the lips are not really stretched.

The same ball gag but this time used with a Bento mesh head (in this case, Lelutka Simone v2), the lips are stretched thanks to Bento giving us ways to make facial animations.

Still the same ball gag locked in "Big", making the mouth stretched bigger.

And even bigger if you choose the "VeryBig" variant in the OpenMouth plugin ! Mmmph !

The RR ring gag now locked in "Tight".

The same ring gag locked in "Big" with the "Big" variant.

And with the "VeryBig" variant !

Why several animations you may ask ? Because different mesh heads are rigged differently so one animation looks good on one mesh head and not on another. And also because everyone has different tastes and different head shapes, so one animation looking good on one sub might look too big on another because she has a bigger mouth.

For example, with the RR ball gag locked in "Tight" with a Lelutka mesh head, here is the difference between "Narrow", "Normal" and "Wide" :

Narrow (it clips through unless I adjust the gag, but this is for the sake of demonstration)



Please note that the animations are high priority, therefore you will probably not be able to animate the lips with a smile, contrary to the system head animation which is not really an animation (it is technically a blend shape, meaning system expressions do not modify bone positions but vertex positions instead) and can be combined with smiles and other expressions. For this reason, these Bento animations do not animate the eyes so you can still trigger your own expressions if you like and they will partially show on your face. For example a surprised look, a frown, a glare, an eye roll etc. You won't see the lips, cheek and jaw move but the eyes and the rest of the face will respond.

In the case  of the RR ball gag and ring gag (other RR gags behave differently), the "Loose", "Normal" and "Tight" locks make one ball or ring show, while the "Big" and "Total" locks hide the first and make the other ball or ring show, which makes the gags change shape according to the lock. I could have made five balls and five rings (and three times as many straps) but that would really have been overkill and require too much resizing from you.

Since "Big" and "VeryBig" are variants (but there's no "Narrow Big", "Wide VeryBig" etc, because that would dramatically multiply the number of animations to make and test), you are free to choose the "Big" variant on the "Loose", "Normal" and "Tight" locks and the "VeryBig" variant on the "Big" and "Total" if you like, that's entirely up to you.

This plugin is accessible only by the wearer. This might change in the future if needed but since it is a customization plugin, there is no reason why the keyholder should have access to it, as it is meant to be used while resizing the gag and testing it, not really while playing. This is the kind of plugin you forget about once you are happy with the way it makes you look.

To access this plugin, touch your own RR gag or say "/77 gag", go to "Plugins..." then click on "OpenMouth". When you do you get this menu :

What's all this stuff ?

There are buttons to manage the brands of mesh heads, at the time of this writing there are three known brands : Catwa, Lelutka and "Other" (which means every brand except the aforementioned two). There might be more in the future if needed. I cannot guarantee that your particular mesh head will necessarily work look good with these animations, but I am reasonably confident that at least one of the animations will look good on you. If not, I will have to make more.

The "Autoref" button is the same as the one in the Anim plugin and in the "More" page of the main menu, it allows you to choose whether to animate the mouth or not. There are cases where you do not want to animate it, for example when you are wearing other brands of gags at the same time (say, a RR ball gag under a NGW hood, which expects the mouth to be closed). If you are wearing several RR gags (for example, RR ring gag + RR mummy gag), they negotiate among each other which one animates your mouth. The rules of this negotiation are the following :

- Ring gags override ball gags, which override tape gags (so from the most stretched to the least stretched).
- In case of ex-aequo, the gag with the higher lock overrides the others (so a ring gag locked on "big" overrides one locked on "normal").
- In case of ex-aequo again, the gag that was locked first overrides the others.

The "Brands" menu lets you choose between all the known brands of mesh heads which one you want to use. It might not necessarily be the one you own, I know a few girls who own Lelutka heads yet prefer the "Other" brand because it suits them better. To each their own.


The "Brands" menu

The "Variants" menu lets you adjust according to the shape of your mouth and your own preference. If your mouth is wide you will probably perfer the "Narrow" variant, and vice versa. You can also choose "Big" or "VeryBig" if you so desire, provided you resize your gag accordingly. "VeryBig" is the default for the "Big" lock on the ball gag and the ring gag, because I want new users to see how wide their mouth can open, but if it's too big they can select the "Big" variant instead. Please note that the Deluxe gag does not have a "Big" lock but still has the "Big" and "VeryBig" variants, because it gives you more options for customization. But this blog post is only about the OpenMouth plugin and how it animates your face, so let's not bother about that here.

The "Variants" menu

The "Overrides" menu lets you choose any other animation that is not a variant in a brand, say, when none of the variants satisfy you. If you select an override, no matter what brand and variant you have selected, the override will be used instead, hence its name.

The "Overrides" menu

When Autoref is on, meaning the current mouth animation is "refreshed" regularly to avoid being overridden or stopped by something else, like a pose ball that stops all your animations when you make it derez, the OpenMouth plugin tries to find the animation corresponding to the settings of the current lock. For example, if you selected the Lelutka brand and the Normal variant on the ball gag, it will try to find one of the animations containing the words "Ballgag", "Lelutka" and "Normal" in their names. If an override is selected, it will rather try to find the animation with the name corresponding to the one you chose, no matter whether a brand and variant is selected or not (hence the name "override").

You are free to select no brand and no variant either by clicking on "No brand" and "No variant" on the main menu of the plugin, or by clicking on the selected brand and variant in their respective menus. This will have the effect of not animating the mouth anymore as well, if no override is selected.

All these settings are per-lock, which means you can select "Catwa" and "Big" for one lock and "Lelutka" and "VeryBig" for another, and an override for yet another lock. If you wish to copy one configuration (brand + variant + override) from one lock to all the others, simply click on "To all locks".

The default settings are read from a notecard named "*OpenMouth config" inside the gag, you are free to modify it. In fact, you can save the current settings for later by doing this :

- Click on "Save notecard".
- Copy the output from the chat to the clipboard with Ctrl-C.
- Open the "*OpenMouth config" notecard contained inside the gag.
- Delete its contents and paste the clipboard with Ctrl-V, save and close.
- Click on "Load notecard" on the menu.

That's pretty much it !

If you can make your own animations or can buy some from other people, you can add them to your gag as well and reference them into the notecard yourself. This won't break the update process once you want to update your gag since the updater ignores inventory items that are not created by me. To do this, simply drop the anim into the gag (drop the gag on the ground first though, you can't add stuff into a worn no-copy attachment such as the RR gags) and edit the notecard.

If the animation is an override, just add it to the "overrides" line after a comma, no space. If it is a new brand, say you want to make animations specifically for Ga.Eg, you can add the brand name to the "brands" line and the variant to the "variants" line if it is a new variant as well. When all this is done, save the notecard and click on "Load notecard" on the OpenMouth plugin menu and you're good to go. The plugin does not re-read its notecard automatically whenever the inventory of the gag changes, on purpose so you don't lose your settings if they weren't saved.

Have fun !