Thursday, January 21, 2010

RR version 1.20 coming soon !

Hello there,

This is just a small post to keep you updated with what I am doing at the moment. I have been working on my restraints, refactoring code, merging scripts and adding features, all in the name of improving user-friendliness and script load, which results in the soon-to-come version 1.20 of the Lockable system !

So what's in there ? Here is a glance, but remember that I am still working on it so there is no ETA yet, and I cannot guarantee that this list will not change (but it's pretty much stable now).

1. Lockable goes Mono. Not a big deal ? Well it was a necessary step in order to do all the rest, and the 1.17 and earlier versions are in LSL. This means less memory available so I squeezed the existing code as much as I could, hence more scripts to do complex tasks, hence more memory footprint for the sim. And guess what ? Linden Lab is going to set script limits on objects and attachments (memory and/or sim usage) at some point in 2010. So although I have delayed switching to Mono as much as I could, because of that infamous "freeze the whole sim when rezzing a Mono scripted object" bug, it is now time for me to take the step as well. You'll see, the features that this switch allows are worth it by far.

2a. The "Long time", "Gender" and "Alarm" plugins are now merged back into the main script (Lockable), allowing for 3 less plugins on the Plugins Browser. Their menus can be found on the new "Tools", "Special" and "Timer" pages of Lockable.

2b. The Lockable_Check_RL, NoDetach and Lockable_Shortcut scripts are now merged into Lockable too, allowing for 3 less scripts in the restraint again (so 6 less scripts in total, making it much easier on the sim).

3. More information on the Lockable menus : which page we are on, which pose the captive is locked in, whether the timers are hidden or shown, whether the captive is Blocked/Mouselooked.

4. More options for timers, coming from the former "Long time" plugin, including a "+10 mn"option for more precise control.

5. The ability to save the current state of the restraint (only when unlocked), specifically best time, best escape time, gender, visibility of timers etc. What's best is that even the older versions of Lockable will have their data saved for later, during the update ! So you won't lose your records by updating anymore.

6. Add support for 2 more locks, if a future restraint requires it. I have no plan to add more poses to existing restraints as of yet, but at least 1.20 will allow it if needed.

7. Favorites on the Plugins Browser. Now when you select the same plugin twice in a row from the Plugins Browser (not through "Last Plug"), it will be added to the list of favorites that shows on every page. Since there are at most 3 favorites, there are now only 6 plugins shown on each page, but it is an acceptable tradeoff since 3 plugins have disappeared now anyway. Oh and favorites are separated for the wearer who has no key to their restraint, from everyone else. Exactly like the "Last Plug" button on the Lockable main menu.

8. Ability to set Lockable to "silent" or "verbose". When "silent", everything Lockable says will be said in IM instead of chat, including keys, locks etc. This does not apply to plugins directly, but they are notified of the change.

9. When recovering tries, the message is said to the wearer only. This was seen as "green spam" by people, and didn't really make sense since the struggling was private anyway.

10. RealRestraint_Base will not Block the captive by default in any pose now. This was too confusing for the user, and didn't make it easy to resize the restraint, especially on the Shibari Ropes.

11. When clicking on Autoref and sitting, now the pose will be stopped. That way the captive won't have to unsit and sit again to keep the original pose of the furniture running.

12. Keep running in No-Script areas (main item, secondary items, HUD). It was not done before for simple memory usage reasons, but since Lockable has switched to Mono, this is not a problem anymore.

13. The delay for the main menu goes from 1 minute to 5 minutes.

14. Various bugfixes and oversights :
- "Cmd:L0" to "Cmd:L9" link messages are now supported (again) when received from scripts. They were removed for memory reasons, years ago, and never put back.
- No "Take Keys" link message was sent from Lockable when the wearer locks themselves and the keyholder is someone else.
- The Give Keys plugin does not try to reopen the menu anymore after giving the keys to someone else (it resulted in an "unauthorized access" message anyway).
- The Spy plugin was showing "your keyholder is online/offline" repeatedly when using a third party plugin that triggered dataserver events.
- The Spy plugin crashed. Badly. Repeatedly. And for no reason. And I still don't know why, but switching it to Mono should do the trick. I'll keep an eye on this bug though.
- The Leash plugin's "Anchor" feature was not working when avatar A anchored B to C, despite the prerelease tests. In fact I had tested it, observed it working, then changed a small thing in the script. And didn't retest. Bzzt. Same player shoot again.

15. When locking a captive, the higher the pose in the menu (from 1 to 6 for now), the stronger the restraint becomes, and more difficult to struggle out from.

Whew ! That's about it. And don't worry, the menus you are used to are mostly unchanged. I have done my best to keep the buttons at the same place, keeping them predictable, and the workflow stays the same. You won't have to re-learn everything, far from it. The biggest change you'll see is that "Block" and "Mouselook" are now in the "Special..." menu, instead of the "More..." menu, and that there are more menus, obviously. And less clicks to do the usual tasks like setting and hiding timers or choosing your favorite plugin, which is a plus. And all the scripts that have been merged still send their Link Messages the same way as before, so third party plugins won't see the difference.

Have fun !

Edit : Added point 15, and the Lockable menu actually expires after 5 minutes, not 3