Jump to content

Devious Devices Framework Development/Beta


Recommended Posts

32 minutes ago, Kimy said:

I rolled my eyes because you made a half-aggressive comment about not shipping source code, when it is quite obviously included in DD and always has been. And the reason why I didn't acknowledge your bug report is simply because I couldn't reproduce it YET. I put it on my to-do list, but I likely can't check into it until after the Labor Day weekend. Patience?

 

For the record, I don't use SE, and I do not develop or test on it. I don't even prepare the DD for SE distribution. Volunteer porters do that. For future reference, when posting bug reports, it would be helpful to include which version you are using. Or posting the bug reports in the correct thread in the first place, which in this case is the DD SE thread, not this one. This one is dedicated to FUTURE versions of DD.

Thank you for looking into this matter for me, please let me know if you discover anything that might be relevant to my issue.

Link to comment

First off, thank you for putting these together!! I'm just tickled to be able to play with them! They make playing an old boring game exciting, if not frustrating as hell, again!!

 

I have a few questions and I'm not quite sure where to put them. 

 

1. Chastity devices (Bra and belt) clip through the body no matter how many times I run batch in Bodyslide. I end up with floppy boobies.... ~>.<~

 

2. I'm getting a new interesting error/issue and I just updated to the new DDL the other day. I've been equipped with an item that is not showing in inventory, but is equipped (It's a Yoke). Getting a "DDH worn device is NONE" error and it cannot be unequipped? The log file is blank...? Odd thing is, it was working fine earlier. It just suddenly started happening.

 

3. Text issues in conversations. As a writer and editor, this is just a minor pet peeve of mine, do you mind if I offer my editing services for any texts/conversations? Especially if these are being translated from another language into English. There are so many grammatical errors that I'm restraining myself from red-penning the screen... :))  (Saying this with all due respect and love because I love these mods and want to see them flourish to the best of their abilities!!!)

 

Sincerely,

 

-L

**I used to have a handle on life, but it broke...**

Link to comment
  • 2 weeks later...

Hello,

 

I can't wait for new dd 5.0. You re doing great job maintaining this framework.

 

Maybe you can add keywords with material to dd item(rope, latex etc) some Mods could use it for removing devices, it could add possibility to ask npc to cut your rope devices which are easier than removing metal devices which could be removed only in blacksmith.

 

Link to comment
On 9/14/2020 at 8:58 AM, Koozie said:

Hello,

 

I can't wait for new dd 5.0. You re doing great job maintaining this framework.

 

Maybe you can add keywords with material to dd item(rope, latex etc) some Mods could use it for removing devices, it could add possibility to ask npc to cut your rope devices which are easier than removing metal devices which could be removed only in blacksmith.

 

This was once planned, but the modder who wanted to have it changed their plans, so I dropped the idea. Doing this would be a LOT of work, and I cannot see me having time for that anytime soon, if ever. DD has around 700 devices in its library that ALL needed to be touched to add these keywords.

Link to comment
On 9/4/2020 at 9:56 AM, Corsayr said:

Thank you for looking into this matter for me, please let me know if you discover anything that might be relevant to my issue.

I tried to find the issue and started a new game with a not of DD interactions and played for about 2 hours. I checked the entire log after that, but this error did not occur once in there. Do you know how to reproduce the error?

Link to comment
1 hour ago, Kimy said:

I tried to find the issue and started a new game with a not of DD interactions and played for about 2 hours. I checked the entire log after that, but this error did not occur once in there. Do you know how to reproduce the error?

Sadly no

 

I think the FormID: 00000014: baseform: Null error that I am getting and this one are pointing to the same underlying cause. But I haven't seen anything broken in-game so it has been impossible to find that. 

 

/shrug

 

thanks for checking it

Link to comment
14 minutes ago, Mr.Zed said:

Hey i have a question.
Can the restrictive ebonite gloves be linked/locked (kind of like a wrist lock)?

because i can't seem to make it happen, yet they have the ring on it, could be a good idea.

That's on my to-do list!

Link to comment
On 9/18/2020 at 10:56 AM, Kimy said:

This was once planned, but the modder who wanted to have it changed their plans, so I dropped the idea. Doing this would be a LOT of work, and I cannot see me having time for that anytime soon, if ever. DD has around 700 devices in its library that ALL needed to be touched to add these keywords.

I think it would still be worth your time to make the keywords, even if you don't add them to the devices, so someone else (possibly me) could take the time themselves to implement the keywords afterwards.

Link to comment
1 hour ago, Code Serpent said:

I think it would still be worth your time to make the keywords, even if you don't add them to the devices, so someone else (possibly me) could take the time themselves to implement the keywords afterwards.

Would probably be easier if somebody wrote an xedit script that adds them. Most keywords would be somehow derived from the name of the device, like the material. It always somehow in the name. Only a very small minority would require manual edits.

Link to comment
On 9/21/2020 at 12:01 PM, Code Serpent said:

I think it would still be worth your time to make the keywords, even if you don't add them to the devices, so someone else (possibly me) could take the time themselves to implement the keywords afterwards.

Ok, sure. I can add them. :)

Link to comment

Hi, Kimy. I just posted this in Laura's Bondage Shop topic, after seeing a comment that NPCs suffer from floating hands behind their backs when wearing straitjackets. I had a quick go at creating a new jacket (a copy of the standard black leather straitjacket from DDx) that adds the hands slot to the rendered armour record. It looks like all the jackets only have the body slot set there, with the hands slot on the armour addon instead.

 

Based on only a very brief test, it seemed to work.

 

 

A quick summary:

 

I copied the rendered and inventory records for a straitjacket into a new esp, as new non-overwriting records, linked them together, added the hands slot (33) to the rendered record and left it pointing to the original DDx armour addon. When wrapped up in the new jacket, Lydia's hands correctly disappeared.

 

It may not survive more rigorous testing, and it may well be that there's a good reason this hasn't been done already, but I thought it might be worth considering for a future update.

 

Here's the mod I made, in case it's of interest. It simply adds a "Test Straitjacket" to try on any NPC you want. (Lydia is probably still up for it...)

test jacket.7z

 

No worries if it's not workable!

 

Thanks.

Link to comment

I had no idea the SJs weren't working properly. oO

 

I just tried very hard to recall me ever testing them on NPCs, but I am not sure I did! Haha! Still strange nobody noticed that before. DCL drops SJs and has been for a while, so I am sure a few users had them equipped on NPCs? Aaaaanyway, I will test it and apply the fix as needed. :)

Link to comment
19 hours ago, Kimy said:

I had no idea the SJs weren't working properly. oO

 

I just tried very hard to recall me ever testing them on NPCs, but I am not sure I did! Haha! Still strange nobody noticed that before. DCL drops SJs and has been for a while, so I am sure a few users had them equipped on NPCs? Aaaaanyway, I will test it and apply the fix as needed. :)

It was talked about it alot a year ago (at least thats what I remember) and I didnt knew you dont know :D

 

The hands dissapear if you relaunch the game and stay that way so it was easily fixed and not really an issue.

Link to comment
On 9/24/2020 at 10:40 AM, merManc said:

Hi, Kimy. I just posted this in Laura's Bondage Shop topic, after seeing a comment that NPCs suffer from floating hands behind their backs when wearing straitjackets. I had a quick go at creating a new jacket (a copy of the standard black leather straitjacket from DDx) that adds the hands slot to the rendered armour record. It looks like all the jackets only have the body slot set there, with the hands slot on the armour addon instead.

 

Based on only a very brief test, it seemed to work.

 

 

A quick summary:

 

I copied the rendered and inventory records for a straitjacket into a new esp, as new non-overwriting records, linked them together, added the hands slot (33) to the rendered record and left it pointing to the original DDx armour addon. When wrapped up in the new jacket, Lydia's hands correctly disappeared.

 

It may not survive more rigorous testing, and it may well be that there's a good reason this hasn't been done already, but I thought it might be worth considering for a future update.

 

Here's the mod I made, in case it's of interest. It simply adds a "Test Straitjacket" to try on any NPC you want. (Lydia is probably still up for it...)

 

I can confirm that

a) the bug exists, and

b) your suggested fix fixes it.

 

I fixed the elbowbinders too while I was at it. They had the same issue! :D

 

Thanks! Good find! :)

Link to comment
22 minutes ago, Kimy said:

- Added: The DD expansions "For Him" and "Beast Races Refit" (adding DD support for male and beast race characters, respectively) are now an official part of the framework. Installation of these components is optional, but recommended.

Thank you. Simply just thank you :)

Link to comment

Fantastic! Looks like a lot of great additions and changes.

 

Also fantastic: this...

1 hour ago, Kimy said:

- Fixed: The fix for the gag effect has been fixed.

 

...reminded me of the opening credits to Monty Python and the Holy Grail.

 

Quote

Those responsible for sacking the people who have just been sacked have been sacked.

 

Link to comment
3 hours ago, Kimy said:

Devious Devices 5.0 Beta 1
 
Some of you supporting me on Patreon already know this, as I talked about this there a while ago. To some others it might be a bit of a surprise. But there is a new major version of DD in the works. And it's ready to go into public beta testing.
 
As in...today.
 
So what's new? I will start by announcing that DD5 no longer ships as separate modules. All components of Devious Devices have been merged in one single download, bringing DD5 for Skyrim LE on par with how the SE version and DD for Fallout 4 are already distributed. The reason for this is simple: With the addition of DD Contraptions, the framework now has FOUR core components, resulting in FOUR separate places users had to download stuff from, and FOUR separate support threads I had to check. It was not only inconvenient for users, but also became more and more unmanageable for me. A Kimy still doesn't scale. Now, people can download everything DD related in one-go and install it in one go as well, and there is one central place to find support and report bugs.
 
"Wait, did you say EVERYTHING DD-related?"
 
Yes, I did.
 
The DD5 All-in-One downloader also contains both the DD For Him and the Beast Races Refit expansions (as optional but recommended components), adding official support for male characters and beast races to DD. This is not only convenient for users, but should also give these components a bit more deserved exposure. Maybe we will see some male submissive followers, soon? And last, but not least, gag voices for sex scenes also have been integrated, so no 3rd party mods are required for this any longer.
 
If Devious Devices was not the most comprehensive bondage framework for Skyrim (and I believe, any game) before, it is certainly now!
 
And that's only the start of what DD5 will bring to the table.
 
For a long time, DD had a reputation of being an awesome bondage framework, but also for being a bit of a performance hog. Devices were equipped and unequipped reliably, but the code making this happen was slow and didn't scale well, because to work around certain quirks with Skyrim's engine, it iterated through a character's entire inventory upon each and every device operation, which tended to make equipping or unequipping devices a slide-show at times.
So I had a look at these core functions and re-implemented them from scratch (based on the one I used for Fallout 4 DD). Let's just say that the difference is noticeable. I would love to run a profiler on the code to get the actual number, but the new code feels at least 5 times faster than the old. And the best thing is that device operations no longer require passing the rendered device and keyword to the API in most cases - which in real life DD use-cases often have to be determined for a given inventory device and are very CPU-expensive to compute. The total performance gain from both effects are absolutely significant, particularly in the many situations when multiple devices are being equipped or unequipped at the same time.
 
Ok, to get that elephant out of the room: As expected with changes of this scope, they caused some regressions. While the new implementation is ~99.5% backwards compatible with older DD versions, a few details have changed. This is largely due to Skyrim being a buggy mess. I suppose said buggy mess was the reason why the device code was written the way it was written, because it works around some of these engine issues. I just guess back in the days it didn't matter so much that the code was slow and didn't scale well, because it was first written for chastity belts and these only (DD has over a dozen different device types these days, so speed is much more a factor now). What the existing system did was guaranteeing consistent equip states for NPCs, which is otherwise broken in Skyrim (NPCs tend not to register equipped gear as actually equipped in the inventory). The new code no longer makes that guarantee, so I had to work around this in several places. As an unwelcome side-effect, certain events (such as OnRemoveDevice() ) are no longer getting reliably fired when a NPC unequips a device. I checked all DD content mods I have in my load order and didn't find a single one actually listening to these events for NPCs, including my own DCL. They do for the player only, which still works reliably. But of course I cannot rule it out that there is a mod out that does it.
 
Another thing that no longer works is the corset code (for the same reason). I solved that by doing what I should have done years ago: I deleted it. It always was problematic, because it broke a central DD design paradigm, where each inventory device maps to exactly ONE rendered device, resulting in a plethora of bugs where corsets were not removed from a character (I wish a had a dollar for every bug report I got related to the corset code!) What happens now is that if a belt is worn, a corset will be worn over it, showing the bottom part of the belt (the corset model is drawn over the belt because it has a higher priority). Which is what you'd expect anyway? There is no clipping otherwise. In hindsight, I wonder which problem the corset code was even trying to solve...
 
Now, for the sake of being open, while I ran quite a number of test scenarios on the new code (with satisfying results), the new implementation has not yet seen large-scale testing (that's where you guys come in!) So there is still room for unpleasant surprises, given that what I did to the code was equivalent to performing open-heart surgery. But I am quite confident that any problems people might experience can be fixed or worked around without having to revert to the old implementation. A very similar implementation has been in use for Fallout 4 DD for years, at least (albeit FO4 is not as much of a buggy mess as Skyrim, so there is that.)
 
So, what else is new?
 
Did I mention the over hundred new straitjacket variants made by UnevenSteven? Or that quite a few device events now feature sexy moan sounds? Oh, and the manipulate lock feature has been overhauled, so the manipulated flag can now be checked and altered by script. Some people apparently have ideas for some fun with that!
 
And here is the full changelog for reference:
 
- Added: The code handling equipping and unequipping devices has been rewritten. It's many times faster than the old implementation, and its performance isn't adversely affected by large actor inventories. The new API functions for handling items no longer require passing the rendered device or the keyword. This further reduces processing time, as CPU-expensive functions to determine these parameters for a given inventory device no longer have to be performed prior to manipulating devices.
- Added: The DD expansions "For Him" and "Beast Races Refit" (adding DD support for male and beast race characters, respectively) are now an official part of the framework. Installation of these components is optional, but recommended.
- Added: DD now has built-in support for gagged voices. When actors are gagged while having sex, appropriate gagged voices are used. 3rd party mods are no longer required for this feature.
- Added: Over hundred variants of the straitjackets made by Uneven Steven have been added.
- Added: For easy picking of random devices from the DD library, close to a hundred LeveledItem lists have been added and exposed to the API in the new zadDeviceLists script (which is attached to zadxQuest, as only DDX knows all DD devices). The lists are organized in tiers, so it's e.g. possible to pick a leather armbinder, any armbinder, or any type of wrist restraint. This feature is meant to replace the performance-expensive item database.
- Added: MCM toggle for the Manipulate Lock feature. If set to false, players can NOT opt to manipulate the lock of a device they're voluntarily equipping. False is also the default value.
- Added: Manipulated locks have been overhauled. Mods can now determine if a device has its lock manipulated by calling IsLockManipulated(Actor a, Keyword kw). The lock manipulation status can now bet set by calling SetLockManipulated(Actor a, Keyword kw) and SetLockUnManipulated(Actor a, Keyword kw), respectively. This obviously works for the player only, as NPCs cannot wear manipulated devices.
- Added: New API functions: GetWornRenderedDeviceByKeyword(Actor a, Keyword kw) can determine a rendered instance of a device worn in a certain slot without having to know the inventory device. IsGenericDevice(Actor a, Keyword kw) can be used to determine if the item in a given slot is a generic device, NOT tagged with blockgeneric or questitem keywords. Both functions are VERY fast and should be used instead of slower GetRenderedDevice(GetWornDevice()) combos.
- Added: zad_Material_* keywords to indicate the material of a DD device. These keywords can be used for e.g. dialogue purposes or helpful backsmiths etc.
- Added: zad_Property_* keywords can now indicate special traits of a device, such as whether it is painful to wear, or makes a lot of noise.
- Added: Moan sounds have been added to several device events.
- Removed: Code related to the deprecated DD3 escape system.
- Removed: DD Expansion items no longer register to the device database. This is the first step in deprecating and removing this feature. DDA/DDI devices will still get registered for the time being, to allow mods that pull items from the database to continue functioning.
- Changed: Merged an improved version of the animation filter by DeWired
- Changed/Fixed: When a DD animation is started, the code no longer simulates a Forward-key tap to end a possibly enabled auto run. This will fix a CTD commonly experienced by some players, at the expense of the workaround no longer working.
- Fixed: NPCs no longer have their hands clip out of straitjackets and elbowbinders.
- Fixed: When removing devices from an NPC, the code now checks for all wrist restraints, and not just armbinders.
- Fixed: The fix for the gag effect has been fixed.
- Fixed: Timed items now work correctly.
- Fixed: Bound combat perks are no longer removed from an invalid actor (when the perk system is disabled).
 
Requirements for participating in the beta:

 

- Willingness to start a new game (for best results).

- Willingness to install unproven software and discover fun (or annoying) problems.
- Willingness and ability to compile detailed bug reports, including Papyrus logs.
- Ability to download large files from MEGA. There will be no alternate download mirrors for the beta testing phase.
 
Yes, the archive is large. It's about 2GB. But don't panic! I -will- provide further updates in the beta program as delta patches, so you don't have the download this whopper every time I am fixing a little bug. Except the installer itself is broken. I hope it's not, haha!

 

How to install:

- Uninstall all DD components on your profile (DDA, DDI, DDX, DDC, DD For Him, Beast Races Refit, GagSFX)

- Install this archive

- Run FNIS

 

Here is the download link:
 
https://mega.nz/file/eMEWRbJQ#YALWLvOcPo6PlgIgcLYnQdv2M86RsZTsc1WR31u49zc
 
Have fun testing!

 

Still trying to get over the happy surprising news XD

 

Question: can I use the new beta framework with the current DCL (8.5) and Laura's bondage shop? If I can, I will get on to testing it in the next spare moment I have in my life XD

Question2: The answer is probably "yes" but to double check - Should I remove the little fixes to the closed mouth gag, the hobble skirt speed, and the animation filter that I accumulated around the the DD forums?
Question3: Might be a bit harder to answer.... Can I keep using OsmelMC "Sexlab utility plus" with this? It has some DD compatibility things, especially when concering the animation filter and enabling bound animations from other sources such as SLAL

 

EDIT:

Question 4: Is this one still relevant? 

If it isn't, is the functionallity replaced or gone?

Because so far it seemed to do a very good job, concerning times in which I revisited places in which I bound some NPCs and stuff

 

EDIT2:

I just recalled that I am using MO2 now and can easily revert if things go south, so I will just go ahead and test it out when I get free time on the evening. Will report both good and bad data XD

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use