Jump to content

SexLab Framework Development


Recommended Posts

I know of no method amongst current Papyrus and SKSE plugins to reliably identify the skeleton used.

 

Both the skeleton and the behaviour file that is used for a creature is stored inside the .esp, though. But I guess this doesn't help, right? The problem I see is that no custom creature is going to work with SL out of the box unless there is a way to get what .hkx file the creature is using. And writing a compatibility patch for every creature mod is a tedious task I'd imagine. Maybe with SkyProc? Dunno.

Link to comment

I have a suggestion for the next update as well. Which may or may not been suggested before in the thread. Add the cum decal to the body from animals/creatures as well. That might motivate some modders to come up with new larger cum decals for bigger creatures and animals. Just saying. :)

Link to comment

Hey Ashal, fast question. 

 

At what point of the final stage does the stage timer begin ?

 

 

To clarify, I have a final stage animation that is 400 frames long.  At 30fps, that's 13.33 seconds in length.  Here is how I have the function configured:

 

 

function WerewolfBlowjobTest(string eventName, string id, float argNum, form sender)
Name = "(Werewolf) BlowjobTest"

SetSFX(Squishing)
AddRace(WerewolfBeastRace)

int a1 = AddPosition(Male)
AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S1")
AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S2")
AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S3")
AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S4", openMouth = true )
AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S5")

int a2 = AddPosition(Creature)
AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S1")
AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S2")
AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S3")
AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S4")
AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S5")

SetStageTimer(5, 13.33)

AddTag("Creature")
AddTag("Bestiality")
AddTag("Werewolf")

Save()
endFunction

 

 

Of specific interest, is the SetStageTimer line and the source of this question.  With SexLab running in auto-advance stages mode, the final scene completes and starts to loop again, exiting a few seconds later even though the timer is set to the exact amount of time for the final scene.

 

So I was curious as to when the actual timer starts and if there is anyway to pre-calculate the time required instead of trial and error. 

 

Am I doing something wrong here ?

 

 

Link to comment

Hey Ashal, fast question. 

 

At what point of the final stage does the stage timer begin ?

 

 

To clarify, I have a final stage animation that is 400 frames long.  At 30fps, that's 13.33 seconds in length.  Here is how I have the function configured:

 

 

function WerewolfBlowjobTest(string eventName, string id, float argNum, form sender)

Name = "(Werewolf) BlowjobTest"

 

SetSFX(Squishing)

AddRace(WerewolfBeastRace)

 

int a1 = AddPosition(Male)

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S1")

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S2")

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S3")

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S4", openMouth = true )

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S5")

 

int a2 = AddPosition(Creature)

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S1")

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S2")

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S3")

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S4")

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S5")

 

SetStageTimer(5, 13.33)

 

AddTag("Creature")

AddTag("Bestiality")

AddTag("Werewolf")

 

Save()

endFunction

 

 

Of specific interest, is the SetStageTimer line and the source of this question.  With SexLab running in auto-advance stages mode, the final scene completes and starts to loop again, exiting a few seconds later even though the timer is set to the exact amount of time for the final scene.

 

So I was curious as to when the actual timer starts and if there is anyway to pre-calculate the time required instead of trial and error. 

 

Am I doing something wrong here ?

 

Your best bet would be to make sure it's actually setting right first, open sslThreadController, goto the event OnBeginState() in the state "Animating" state, and change this:

		; Begin loop
		StageTimer = Utility.GetCurrentRealTime() + GetTimer()
		RegisterForSingleUpdate(0.10)

to look like this;

		; Begin loop
		StageTimer = Utility.GetCurrentRealTime() + GetTimer()
		if TimedStage
			Debug.TraceAndBox("Starting timed stage\nAnimation Timer: "+Animation.GetTimer(Stage)+"\nStage Started At:"+Utility.GetCurrentRealTime()+"\nStage Ends At: "+StageTimer)
		endIf
		RegisterForSingleUpdate(0.10)

Then recompile. That'll make it give you a message popup whenever it thinks it's starting a timed stage, and print the autoadvance timer + the stage timer you set. Make sure that's all the expected output. If you get no popup on stage 5 of that animation, than it's starting a timed stage, if you get a popup but the values aren't right, then it's not setting or pulling it right.

 

 

Timed stages aren't tested much, no animations currently use them, and I only tested them with starting stage and middle stages, not the ending stage.

Link to comment

Quick development update:

 

I've got everything of the basics working, minus the MCM and expressions. I'm going to leave expressions out of the beta release, as I still don't know what I want to do with them moving forward, but once I finish the MCM menu I'll release the beta.

 

I've done some light compatibility testing, but so far the only broken mod I can find is ZaZAnimations, as it tries a grab a copy of SexLab's MCM  Quest, which has been recreated under a different quest and thus breaks Zaz's attempt to grab it. 

Link to comment

 

Hey Ashal, fast question. 

 

At what point of the final stage does the stage timer begin ?

 

 

To clarify, I have a final stage animation that is 400 frames long.  At 30fps, that's 13.33 seconds in length.  Here is how I have the function configured:

 

 

function WerewolfBlowjobTest(string eventName, string id, float argNum, form sender)

Name = "(Werewolf) BlowjobTest"

 

SetSFX(Squishing)

AddRace(WerewolfBeastRace)

 

int a1 = AddPosition(Male)

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S1")

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S2")

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S3")

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S4", openMouth = true )

AddPositionStage(a1, "Werewolf_BlowjobTest_A1_S5")

 

int a2 = AddPosition(Creature)

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S1")

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S2")

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S3")

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S4")

AddPositionStage(a2, "Werewolf_BlowjobTest_A2_S5")

 

SetStageTimer(5, 13.33)

 

AddTag("Creature")

AddTag("Bestiality")

AddTag("Werewolf")

 

Save()

endFunction

 

 

Of specific interest, is the SetStageTimer line and the source of this question.  With SexLab running in auto-advance stages mode, the final scene completes and starts to loop again, exiting a few seconds later even though the timer is set to the exact amount of time for the final scene.

 

So I was curious as to when the actual timer starts and if there is anyway to pre-calculate the time required instead of trial and error. 

 

Am I doing something wrong here ?

 

Your best bet would be to make sure it's actually setting right first, open sslThreadController, goto the event OnBeginState() in the state "Animating" state, and change this:

		; Begin loop
		StageTimer = Utility.GetCurrentRealTime() + GetTimer()
		RegisterForSingleUpdate(0.10)

to look like this;

		; Begin loop
		StageTimer = Utility.GetCurrentRealTime() + GetTimer()
		if TimedStage
			Debug.TraceAndBox("Starting timed stage\nAnimation Timer: "+Animation.GetTimer(Stage)+"\nStage Started At:"+Utility.GetCurrentRealTime()+"\nStage Ends At: "+StageTimer)
		endIf
		RegisterForSingleUpdate(0.10)

Then recompile. That'll make it give you a message popup whenever it thinks it's starting a timed stage, and print the autoadvance timer + the stage timer you set. Make sure that's all the expected output. If you get no popup on stage 5 of that animation, than it's starting a timed stage, if you get a popup but the values aren't right, then it's not setting or pulling it right.

 

 

Timed stages aren't tested much, no animations currently use them, and I only tested them with starting stage and middle stages, not the ending stage.

 

 

Outstanding.  Will start playing with it asap.  Thanks for the update.

 

Link to comment

I've heard you guys talking about PapyrusUtility and PapyrusUtility package a few times now. What is that? Searching for it via search engines didn't yield any useful information.

 

It's a compilation of new handy papyrus functions added via SKSE.

 

http://www.loverslab.com/topic/23713-papyrusutil/

 

The latest version is included with SexLab, so it's safe to just use it's functions in any SexLab mod without worry.

Link to comment

Editing my CreatureAnimationDefaults.psc/pex:

 

Adding: 2 sets of Giant anims (Panic's newer one)

Adding: 18 total creatures, 17 regularish, 1 hiding (lurker).

3 vanilla, 10 DG, 5 DB 

Skipping: Rieklings (hiding but the animations exist, just the size difference is silly), and DLC2 spiders (because they're creepy, and splodey anyway).

Moved for consistency: Deathhound's to wolf anims (they use wolfproject.hkx)

Have in 1.39b format (noticed it's kinda different on Github now), Ashal wants?

 

Just pm'ing it to Ashal, my brain is about done now xD

Link to comment

SexLab Alpha Beta Test

 

Current Beta:

v1.47 Beta 3 - 04/11/2014

 

 

WARNING: This beta release is a major rewrite of the SexLab codebase, it will break several existing mods, it may or may not screw with your save. I make absolutely no guarantees whatsoever. Use at your own risk, and for a desire to help improve the final release.
 
Requirements:
Currently the beta build REQUIRES the following upgrades, which you very likely do not have unless you specifically chose to upgrade to these:

Important Notes: 

  • Follow the normal SexLab install instructions, installing the current beta build available below.
  • Rerun FNIS for Users after installing/updating the beta build
  • I'd recommend testing on a new game for best results, but I am also interested in hearing how well it plays for people with existing saves.

EVEN MORE IMPORTANT NOTES: As this is an alpha/beta release, intended solely to get some feedback on issues that are a direct result of these changes. It is paramount that you report any issues specific to the alpha/beta that you have, with as much detail as possible. Meaning debug logs, description of the issue, what mod did you use to initiate the animation, if it's a new or existing save game, if you had previous version of sexlab installed on the save. This release has a debug dev mode forced on, which will cause any errors and various other notices to the console for quick reference without having to look at the debug log. Final release of the mod will have this console spam disabled and toggleable from the menu.
 
THIS IS NOT A TECH SUPPORT THREAD. If your issue is something related to old version of the mod, prepare to be ignored. 
 
What's New in this Alpha & Beta?
There are few new features, everything else is nothing you will likely notice, this does not have any of the major new features that are planned to be implemented in the next official feature release. This release however is a major overhaul of SexLab's underlying code, so expect to see performance improvements (hopefully) as well as other longstanding bugs fixed as a byproduct of the rewrite.
 
Some of the noticeable new features however, is that your animation adjustments from the hotkeys are now saved as race combination specific. What this means is that any adjustments to the alignment you do for a Nord with an Orc, will only save to Nord+Orc, a Nord+Breton will use it's own separate custom alignments. All combinations without a custom alignment, will default to using the default alignments until adjusted by the player.
 
Currently Known Issues:

  • New expression editor doesn't have localization strings for anything other than English From Beta 2 Fixed ini Beta 3
  • Creature animations won't start. Fixed in Alpha 4
  • Expressions are currently disabled and not implemented with this release. They are pending either a complete overhaul, or complete removal from SexLab. Added back in Alpha 3
  • Strap-ons are not currently being used. Fixed in Alpha 2
  • Orgasm effect hasn't been implemented yet Fixed in Alpha 2
  • Undress animation hasn't been implemented yet Fixed in Alpha 2
  • Thread tagging hasn't been implemented yet  Fixed in Alpha 2
  • Several stats are not currently being tracked.  Mostly Fixed in Alpha 2 Fully Fixed in Alpha 3
  • Mods I know for fact will not work with this alpha version:
    • Alpha 2 adds some form of backwards compatibility for non SKSE 1.7 versions of mods that add new voices and animations, such as Zaz and Vanilla Voices. This is a dirty temporary fix only; to help broaden the test base.

      It is also completely untested, for all I know Zaz and Vanilla Voices will still be broken. 
    • Alpha 3 and beyond removes the above backwards compatibility, ZaZ and Vanilla Voices WILL NOT work until they update to the new animation and voice registration method.
  • Certain mods will not be backwards compatible, if it is not listed above, post about it and provide a debug log.

ENABLING THE DEBUG LOG:
The debug log is disabled by default, in order to enable it, open your Skyrim.ini file, located in /My Documents/My Games/Skyrim/
 
Add/edit the following to this file:
[Papyrus]
fPostLoadUpdateTimeMS=500.0
bEnableLogging=1
bEnableTrace=1
 
Current Todo List Before Release:

  • Update animations with new ones animators have come out with
  • Add an actor manipulation utility spell to allow easy changing of an actors saved voice or stats
  • Add a "Diagnose" options to the MCM that checks SexLab's innards for possible issues and make recommendations

 

Download:
Read and understand all of the above before continuing on to download. I have little to no patience for tech support and people who don't follow instructions. If you don't understand and plan on following all of the above instructions, I beg of you to not download this alpha/beta. I need to know how and why things are working and not working for other people. Simply posting "Animations aren't working." with no further details or logs is not helpful; it is a waste of my time and yours. 
 
Full Beta 3:

 

Upgrade patch for 1.4x Alpha to 1.47 Beta 3:

SexLab_Upgrade_v14x_to_v147Beta3.zip

 

 

Link to comment

If expression is removed from sexlab main plugin, will in be a separate plug in?

 

That would be a good thing imho, someone interested in expression engine/development and SexLab integration would work on it while you, Ashal, would keep working on SexLab development.

Link to comment

Im using Submit to start my scenes, I had SexLab 1.39b installed previously before installing the Alpha version.

My finds are: SexLab starts very fast and has no issues with moving around. Orgasms starts too early and doest have the sound or screen shaking attached even though that option is ticked. 1 on 1's start fine using Submit but 3-somes dont start at all. SexLab Cumshot doesnt work with the Aplha version. I still get the bendy schlong problem that started occuring with 1.39. I have attached my log:

 

https://www.mediafire.com/?o1m6s9tv82ns65s

Link to comment

Im using Submit to start my scenes, I had SexLab 1.39b installed previously before installing the Alpha version.

My finds are: SexLab starts very fast and has no issues with moving around. Orgasms starts too early and doest have the sound or screen shaking attached even though that option is ticked. 1 on 1's start fine using Submit but 3-somes dont start at all. SexLab Cumshot doesnt work with the Aplha version. I still get the bendy schlong problem that started occuring with 1.39. I have attached my log:

 

https://www.mediafire.com/?o1m6s9tv82ns65s

 

I'm seeing no orgasm effects too, and the undress animation doesn't play. This is on a save that had never seen any SexLab version before. Starting animations with Matchmaker, no other SexLab plugins active. Using FNIS 5.0, btw. Nothing in the log or in the console that could indicate an error.

 

I'll update Cumshot to work with the new framework. If you're using the Alpha, please deactivate it for now.

Link to comment

Oh my gawd! I'm getting really frustrated with this! I have all of the necessary mods and plugins installed, as well as the Matchmaker, but when I use the Attraction spell, all actors are frozen in place in an idle stance!  :@

 

Hello, ITS ALPHA!!!! If you aren't prepared for the bumps and the problems, you shouldn't be trying it out.

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