Jump to content

Devious Devices Framework Development/Beta


Recommended Posts

Also, given a very smart suggestion, I am copying my idea for a new item from the DDi thread into here:

 

Rigid ankle cuffs (or a metal ring that traps both ankles in it) or a legbinder only.

 

Basically a thing that has the same effects of a strict hobble dress on walking speed and walking animation but allows for clothing or for sex?

Link to comment

Just started, and I have already found a bug with the Black Ebonite Topless Elegant Straightjacket.


The breasts textures are completely messed up.

 

I've attached a screenshot. Sorry if it is quite dark.

 

EDIT: I've also got another bug. I'm trying to equip a Red Leather Elbowbinder, but it doesn't equip at all, and any attempts of trying to take it off doesn't do anything. It just unequips like a normal item, but doesn't do anything.

I've dropped it and picked it up to see if it fixes the problem, but no. It doesn't.

 

This is all on a new game.

 

 


ScreenShot10.png

 

Link to comment
Spoiler
7 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!

 

 

Yaaay ?

 

Link to comment
5 minutes ago, donttouchmethere said:

 

I think I saw a hint somewhere =D

Wow, with all those fixes and everything in one DD install my blog will become boring quickly ^^

(I hope ?)

Thanks! ?

I didn't read the changelog. ?

Link to comment
9 hours ago, fred200 said:

Any Quests in DD5 - or just devices and animations?

DD is a framework. Quest content is a bit outside its scope. It used to have a demo quest mod back in the days, but newer updates to DD broke it. There are so many DD content mods around these days that a demo mod is no longer needed, so we scrapped it.

Link to comment
8 hours ago, thedarkone1234 said:

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

Yes, it should work nicely.

 

8 hours ago, thedarkone1234 said:

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?

Yes, remove them all, please. These fixes have been integrated to the framework.

 

8 hours ago, thedarkone1234 said:

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

I wouldn't know. I never used this mod or even looked at it.

 

8 hours ago, thedarkone1234 said:

 

EDIT:

Question 4: Is this one still relevant? 

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

 

This patch did not get integrated (yet), because I didn't get any update so far if it's ready to go in.

 

 

Link to comment
6 hours ago, HyperonicX said:

Just started, and I have already found a bug with the Black Ebonite Topless Elegant Straightjacket.


The breasts textures are completely messed up.

 

I've attached a screenshot. Sorry if it is quite dark.

 

EDIT: I've also got another bug. I'm trying to equip a Red Leather Elbowbinder, but it doesn't equip at all, and any attempts of trying to take it off doesn't do anything. It just unequips like a normal item, but doesn't do anything.

I've dropped it and picked it up to see if it fixes the problem, but no. It doesn't.

 

This is all on a new game.

  Reveal hidden contents

Will have a looksie! :)

Link to comment
53 minutes ago, Kimy said:

This patch did not get integrated (yet), because I didn't get any update so far if it's ready to go in.

 

I am not 100% sure myself. The initial version did cause issues for users who had a lot of mods that add devices to NPCs. I added some limits, e.g. the mod will now only process 3 NPCs in a timeslot of 3 seconds and "back off" if more are found. This seems to solve most issues, but at least one user still was seeing laggy behavior. Most probably a MCM is needed where the "aggressiveness" of the mod can be configured.


Reading your changelogs you did a lot of performance improvements, so my buest guess is that my patch needs to be retested with the new DD framework. In addition it looks like you fixed some of the same issues that I implemented workarounds for, so I might be able to remove some of my code:

Fixed: NPCs no longer have their hands clip out of straitjackets and elbowbinders.
> Fixed: The fix for the gag effect has been fixed.

Link to comment
On 9/25/2020 at 7:02 PM, Kimy said:

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! :)

Are armbinders/elbowbinders/straitjackets supposed to be compatible with bondage mittens or not? If I recall correctly they are supposed to be compatible in the 4.X versions (and this does make sense as wrist shackles are technically implemented as armbinders).

 

Depending on how you fixed the elbowbinders and straitjackets, it is possible that the rendered device now uses the slot that is used by the mittens. This could lead to unexpected situations when equipping one device unequips the rendered device of the other one. I was under the assumption that this was the technical reason that the flag was only set in the armor addon and not in the rendered devices. Might require some testing...

 

Link to comment
3 hours ago, Kimy said:

Will have a looksie! :)

 

I did some investigating into this issue since that is one of the new straitjacket variants I created. I know I tested the heck out of these things before I had uploaded and never had the issue HyperonicX experienced. During investigation I noticed this skin issue also affected the original regular and legbinder versions of the straitjacket, which I didn't touch.

 

The meshes seemed fine, no changes from the versions I uploaded to the versions included with DD5. Even tried the original meshes I had uploaded and still had the skin issue. So I dug around the Expansion esm in xEdit, comparing it to the .esp I uploaded back here. The only difference I noticed was in the "Rendered" Armor entries for all the straitjacket variants had 33-Hands checked in the DD5 Expansion esm,

 

The current 4.3 version of Expansion did not have slot 33-Hands checked in the armor entries for the straitjackets nor was the slot checked in the file I had uploaded. So I went and un-checked 33-Hands in all the "Rendered" entries for the straitjackets and tested in-game, I no longer had distorted skin textures in any straitjacket variant.

 

I couldn't even begin to tell you the reason why having 33-Hands checked causes this issue. Could be a problem with the original straitjackets that unfortunately carried over to the new variants I created. Could anything in the coding cause this issue? Unchecking 33-Hands will still hide any gloves or gauntlets being worn while wearing straitjackets.

 

Also while digging around xEdit I noticed several entries of the new straitjacket variants didn't have "Weight Slider" checked.

 

Spoiler

WeightSliderOff.png.2cf18536cb81d4b21f643dc3a517fbbd.pngWeightSliderOn.png.8554a669baf5615aaa42a413006bf3ca.png

 

This slipped through my testing as these same entries in the file I uploaded also didn't have "Weight Slider" checked. Whoopsies!

 

And no this had nothing to do with the distorted skin issue, I tested that theory.

Link to comment

A few reports of my findings going with the LAL start of DCL:

 

All bondage items act normally and well. Couldn't notice any speed in the process of equipping them (so far I didn't trigger traps, but got bound by the LAL start, and for solicitation, and then by rapists). It does seem to wait and then put all items almost at once, rather than slowly put them one by one.

Love the gagged sex sound :)

 

However, three old "bugs" still exist:

1. After "tripping on my heels" there is no animation of getting up.

2. FNIS sexy moves still overrides DD. This time I am sure no other mod interferese there because I disabled all mods related to DD aside from DD itself DCL, and Laura's bondage shop.

3. It is still possible to "finally succeed" in using a key with mittens "with a lot of patience and a bit of luck...." only to see "the device is designed in a way it is hard to unlock" or a keybreak. After which, consecutive "success" with the "patience" check will only get you all the way to the prompt: "You are still tired".

I understand why this one happens, but it would be lovely if it got disabled XD

 

In addition there are two things I noticed only briefly and couldn't reliably reproduce, but I will throw them in, in case someone else also sees them:

1. I have seen a few time (mostly in Riften) that bug of "strech to infinity and become invisible" which is usually associated with HDT... only I had that bug fixed for a while now and only see it today [I did update bodyslide to the latest version but its hard to believe the fault is there]

2. Once, only once, I tried to solicit sex while not being bound (and after a while of not being bound), and got a front-cuff animation for no reason.

 

Overall amazing work so far. No extremely weird bugs and good performance :)

Link to comment

@Kharos @UnEvenSteven

 

Adding slot 33 to the rendered records of straitjackets was in an effort to fix them for NPCs, because their hands weren't being hidden by them. Apparently the same thing was happening with elbowbinders as well.

 

When I (briefly) tested it before suggesting the idea, I didn't see any problems with skin textures, and I also can't think of any reason why that would happen. I do admit, though, that mittens (not to mention restrictive and catsuit gloves) hadn't occurred to me. Sorry about that. It's presumably why jackets didn't occupy the hands slot before, only attempted to hide it. It might well be that floating NPC hands is the lesser of two evils here.

Link to comment
1 hour ago, thedarkone1234 said:

All bondage items act normally and well. Couldn't notice any speed in the process of equipping them (so far I didn't trigger traps, but got bound by the LAL start, and for solicitation, and then by rapists). It does seem to wait and then put all items almost at once, rather than slowly put them one by one.

Love the gagged sex sound :)

Many device manipulation functions in DCL apply an artificial delay to operations to cope with some limitations of the old code. You will notice a drastic speed improvement once I remove these delays. :)

Link to comment
8 minutes ago, merManc said:

@Kharos @UnEvenSteven

 

Adding slot 33 to the rendered records of straitjackets was in an effort to fix them for NPCs, because their hands weren't being hidden by them. Apparently the same thing was happening with elbowbinders as well.

 

When I (briefly) tested it before suggesting the idea, I didn't see any problems with skin textures, and I also can't think of any reason why that would happen. I do admit, though, that mittens (not to mention restrictive and catsuit gloves) hadn't occurred to me. Sorry about that. It's presumably why jackets didn't occupy the hands slot before, only attempted to hide it. It might well be that floating NPC hands is the lesser of two evils here.

Blargh. I had no idea of that side effect when I applied the fix. That slot 33 would hide any gauntlets I'd consider intentional behavior, but this skin bug is bad. Not sure how to proceed with this. Floating hands are bad, but skin distortion is probably worse. :S

 

It's not a coding issue. There is no code in DD I could remotely imagine being responsible for this behavior.

Link to comment

Weird things about the cleavage bug, first things i saw with same piece of gear:

Spoiler

before_after.jpg.a315540d8c8012ba29fc1c36d4b0a83d.jpg

The left one is what it was initially, wearing "Black Ebonite Straightjacket Dress (Cleavage)". Then i read here that slot 33 might need to be disabled so i made a quick addon mod with TES5Edit to check it, and then took the screenshot on the right. But i then realized that i remembered wrong at the time of making the addon, i only edited armoraddons of red ebonite variations, no changes to black ones! So i quit game again and disabled the addon, and it still looks like the right image... Therefore my conclusion is that act of saving and reloading fixes it...

 

Edit: Ok that's not true even, at least in the case of "Elegant (Topless) variation, even after loading with it on.

Link to comment

Also a bug from ever since old DD, where if player sees hobbledressed NPC's it alters running animation for the player. The hobbled small-step animation is ok for the dress but it's far too awkward for normal playing. It stops to idle animation very sharply when you stop pressing W, normally it is smooth.

 

I just happened to have DCL bound girl spawn in same inn at Dawnstar while i was in there and it changed my animation.

 

Previously i have seen it always reproducible with Devious Lore mod when you see hobbled questgiver npc.

 

Turns out animation fixed itself when i left inn... This wasn't the case before 5.0.

Link to comment
42 minutes ago, Zaflis said:

Also a bug from ever since old DD, where if player sees hobbledressed NPC's it alters running animation for the player. The hobbled small-step animation is ok for the dress but it's far too awkward for normal playing. It stops to idle animation very sharply when you stop pressing W, normally it is smooth.

 

I just happened to have DCL bound girl spawn in same inn at Dawnstar while i was in there and it changed my animation.

 

Previously i have seen it always reproducible with Devious Lore mod when you see hobbled questgiver npc.

 

Turns out animation fixed itself when i left inn... This wasn't the case before 5.0.

Oh, yeah... Seems that issue is still there... The hobbleskirts don't check if they got equipped on the player before making changes to the players controls. So even when NPCs get skirts they'll force disable Dampen Controls (the thing that allows for smooth transitions)

And since they'd save the state of it every time, if multiple NPCs wear skirts your original desired setting would most likely be lost.

 

EDIT: @Kimy here's a possible fix for it if you'd like to include it

the file is technically from the 4.3a install, but it looks like there hasn't been any changes to that in DD5 so should still work

zadx_HobbleSkirtEffectScript.psc

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