Jump to content

SLGP = SexLab grass patch


Recommended Posts

Posted

SLGP = SexLab grass patch

View File

Everyone knows that, when we start an animation with Player on an outside cell, the game redraws the grass, causing stuttering and frame drops.
That's a Special Edition-only problem, it doesn't happen on Legendary. Beth's developers change something in the Special Edition that causes the problem.
Also, the start of the animation is very slow, by the redrawing of the grass and by the SexLab code, which requires 5-8 seconds to start the animation.

ALL THAT IS OVER...

 

BETA ---> SLGP = SexLab Grass Patch <--- BETA

 

This is a patch to remove the redrawing of the grass on exterior cells when the player is inside the animation.
Also, I speed up the start of the animation having a normal time of 2 or 3 seconds, sometimes 4 or 5...
The minimum time is 1.5 in almost 20% of the animations and below 3 seconds in the 70%. But some animations, around 10%, may need up to 4-5 seconds.

 

The timings come from my 8 year old machine with a full install: SL, CF, SOS, Arousal, SLSO, PSQ, Appropos, CumShot, Deadly Drain...
As the Papyrus time is shared between ALL scripts, having many scripts running increases the time it takes to start the animation.
I guess normal people don't have an oversaturated game like mine and tend to have more newer computers. Therefore, I expect better times for most users.


I don't find any big problem and my beta testers say everything works correctly 99% of the times. Sometimes we can have some physics issues that make the actors blink and move like crazy. That should stabilize and be gone in less than one second. It is caused by the physical calculations when the actors collide with the surrounding object. And it is more common when ussing furnitures, as beds, with Player.
If the flickering doesn't go away, switch to another animation. Probably, that animation or that bed has some fault in its adjustment and causes the flickering. Aditionally, you can try move the animation ussing the SexLab reposition scene keys.

 

Sometimes, we can have a weird issue that only happens with Player on some animations. Seems that the TranslateTo command doesn't always put the correct angles and I need to correct it manually causing flickering and frame drops. But I can't find any other solution. It only happens sometimes on some animations with Player. It's not normal, but I must alert you about that weird thing that i can't remove.


SLGP is compatible with any mod because i respect the SexLab structure. Works with HDT hair, DD, Zaz and others 400 mods i have installed.
I not discard problems, weird things, physic going crazy with HDT items, some flikering and fliying actors or creatures.
But if you not want have any of that problems "sometimes" you can remove SLGP and return to the grass redraw when animating the Player.

Nothing is perfect. Select yourself.


Also, I strongly recommend mix SLGP with SLAS - SexLab Anim Searcher, if you not have it, because my NEW search system is stupidly fast.


REQUIREMENTS:
SexLab by Ashal

 

COMPATIBILITY PATCHES:
SLSO
SLU+

 

INCOMPATIBILITIES:
Nothing for now

 

DIFFERENT SEXLAB VERSIONS:
Legendary doesn't need SLGP because the grass redraw issue is a Special Edition exclusive issue.
Also, animation start in 1.62 is quite fast and I think you don't need SLGP.
Of course I can make a version for 1.62 if a lot of people complain, but it won't go to save seconds.

 

SLGP works with SexLab 1.63, 1.64c and 165 with the minor exceptions of some corrections on some futa and bed animations.
I presume works in VR because SLGP not use any special DLL but i can't test it.
I make a version for SLSO and another version for Utility Plus.
Be sure you download, install and enable the correct version.
SLGP not have ESP file and the game not go to alert you about the mix.

 

INSTALLATION:
Like any other mod. Use your mod manager. Download, install and replace some SexLab files.
That's all. SLGP does not need additional tasks. Just install, replace and play.

 

CREDITS:
Ashal, by creating SexLab, updating it and giving us a different Skyrim.
Markdf, by giving us the main clue about what's going on with the grass redraw.
The entire Skyrim community because it's one of the best I've seen. THANKS TO EVERYONE.


 

Posted
49 minutes ago, wareware said:

If I am using both SLSO and SLU+ do I just need to download the SLU+ patch?

 

Utility Plus include some of the SLSO files. Then, you must have the complete combination installed::

SexLab

Separate Orgasm replacing some SexLab files.

Utility Plus replacinng files from SexLab and from SLSO.

 

As the last in the chain is Utility Plus you must use SLGP for Utiliy Plus.

Posted (edited)

I also noticed that calling SetPosition or SetAngle functions on the player (ActorRef) causes the grass redraw bug. For some reason it only happens when calling these papyrus functions, but from the console they work fine. I fixed that in my game by swapping those to ConsoleUtils variants. Maybe this can be of some use to someone:

 

 function SetPosition(Actor actorRef, float x, float y, float z)
    ConsoleUtil.SetSelectedReference(actorRef)
    ConsoleUtil.ExecuteCommand("SetPos X " + x)
    ConsoleUtil.ExecuteCommand("SetPos Y " + y)
    ConsoleUtil.ExecuteCommand("SetPos Z " + z)
endFunction

function SetAngle(Actor actorRef, float x, float y, float z)
    ConsoleUtil.SetSelectedReference(actorRef)
    ConsoleUtil.ExecuteCommand("SetAngle X " + x)
    ConsoleUtil.ExecuteCommand("SetAngle Y " + y)
    ConsoleUtil.ExecuteCommand("SetAngle Z " + z)
endFunction

SetPosition(ActorRef, Loc[0], Loc[1], Loc[2])
SetAngle(ActorRef, Loc[3], Loc[4], Loc[5])

 

Edited by Robo00
Posted (edited)
16 minutes ago, Robo00 said:

I also noticed that calling SetPosition or SetAngle functions on the player (ActorRef) causes the grass redraw bug. For some reason it only happens when calling these papyrus functions, but from the console they work fine. I fixed that in my game by swapping those to ConsoleUtils variants. Maybe this can be of some use to someone:

 

WOW... Thank you so much... That may help to remove the last grass re-draw that I can't remove. The wrong angle that happens only in Player and only sometimes in some animations. Is add another DLL but it seems to be very common because Ostim NG requires it. And it has VR version to provide compatibility. I'm going to start testing and probably tomorrow I can have a version that finally removes the redraw grass completely, thanks to your help of course.

Edited by alex77r4
Posted (edited)

thank you so much for this ^^ im going to ask even though its totally just a selfish "wish" but this same issue affects feeding as a vampire animation in the mod better vampires  where it redraws the grass im certain its because of the same issue. Even if its not something you're interested in, could you perhaps tell me what code to add? I can compile stuff but not much of a coder lol if its to hard then obviously its okay to say no xD if any of that is too much i think i found the script does it appear to be the same issue? maybe i can bring it up to the author.
 

Spoiler

image.png.85d254b0ca7cf0cdcfc19d7e4b80ece5.png

 

Edited by tamai
Posted

Whats causing redraw of gras is the rotation stuff.

This can be avoided with a trick. The moveto() has a hardcoded build in correction.

So no more papyrus roll forward backward and so on triggering a redraw.

Disable npc

moveto player 

enable npc

Then all centeron incl. rotation can be

left untouched.

Posted
1 hour ago, Tlam99 said:

Whats causing redraw of gras is the rotation stuff.

This can be avoided with a trick. The moveto() has a hardcoded build in correction.

So no more papyrus roll forward backward and so on triggering a redraw.

Disable npc

moveto player 

enable npc

Then all centeron incl. rotation can be

left untouched.

 

I'm sorry but that not works. The commands SetPosition and MoveTo make the Grass ReDraw, no matter if the Player is enabled or disabled:

ActorRef.disable()
ActorRef.SetPosition(Loc[0], Loc[1], Loc[2])
ActorRef.enable();Grass ReDraw
;---------
ActorRef.disable()
ActorRef.MoveTo(MarkerRef)
ActorRef.enable();Grass ReDraw

;---------------

But the command TranslateTo NOT make the Grass ReDraw:

ActorRef.TranslateTo(Loc[0], Loc[1], Loc[2], Loc[3], Loc[4], Loc[5], 55000, 0); This works = NO Grass ReDraw

 

I'm testing the Console Comands ussing ConsoleUtil and effectivelly NOT make the Grass ReDraw.

Posted
10 minutes ago, alex77r4 said:

ActorRef.TranslateTo

Well, than it's this one. I just remembered one of this functions have a build in corrrection.

Posted (edited)
3 hours ago, indolu said:

is this compatable with Scrabs p+?

 

NO, I can't make a patch for P+ while P+ is in developement. But their developer, and any other developer, is free to take the code and use it in any other mod.

Really, i'm ussing the idea and the code proposed by Markdf months ago and for that i give credits to them.

Edited by alex77r4
Posted (edited)
3 hours ago, indolu said:

is this compatable with Scrabs p+?

p+ already includes a variant of this approach by having the desired position of an actor set directly on their 3d inside its dll

Edited by Scrab
Posted (edited)
16 hours ago, Robo00 said:

I also noticed that calling SetPosition or SetAngle functions on the player (ActorRef) causes the grass redraw bug. For some reason it only happens when calling these papyrus functions, but from the console they work fine. I fixed that in my game by swapping those to ConsoleUtils variants. Maybe this can be of some use to someone:

 

I'm extensively testing the console commands and replace all the TranslateTo by console commands but sometimes not works correctly.

The grass redraw not hapen but the position in the NPC's isn't always correct while the angles always was correct.

 

You say: "I fixed that in my game by swapping those to ConsoleUtils variants." but i need ask...

That always works in your game? In all the NPC's and all the animations? Never fail?

 

Because is failling in my game. Then, we must have something diferent in configuration, physics, body model...

For now, i go to use your code to correct the bad angle in some Player animations.

Edited by alex77r4
Posted
14 hours ago, tamai said:

maybe i can bring it up to the author.

 

Is the best that you can made. The problem effectivelly is caused by the MoveTo and, as i said, is a specific problem of Special Edition.

Their developer seem to be active because update better vampires some months ago. Then, send it a message.

 

I look the code and have a lot of MoveTo. I can make a patch but only go to work with the specific patched version.

If the developer of better vampires not answer you or not provide a solution contact me again and i can provide the patch.

Posted
13 hours ago, alex77r4 said:

Their developer seem to be active because update better vampires some months ago. Then, send it a message.

 

I'll give it a shot thnx ^^

Posted

Greetings,

 

On 1/23/2023 at 8:32 PM, Robo00 said:

I also noticed that calling SetPosition or SetAngle functions on the player (ActorRef) causes the grass redraw bug. For some reason it only happens when calling these papyrus functions, but from the console they work fine. I fixed that in my game by swapping those to ConsoleUtils variants. Maybe this can be of some use to someone:

 

Sir, I salute you. Just now, I tried your solution using the ConsoleUtil method in Skyrim LE, where the problem also exists, and it works perfectly. I tested it in some pretty rough terrain and the positioning worked every time. Note that I only use it for the player character, since doing SetPosition on NPCs obviously does not cause grass redraw. I'll report back if I find any issues in the future, but it looks good so far.

 

Minor hint, since I like it clean: Call ConsoleUtil.SetSelectedReference(none) afterwards to unselect the console reference.

 

Regards, s3ngine

 

Posted (edited)
On 1/24/2023 at 1:18 PM, alex77r4 said:

You say: "I fixed that in my game by swapping those to ConsoleUtils variants." but i need ask...

That always works in your game? In all the NPC's and all the animations? Never fail?

 

Because is failling in my game. Then, we must have something diferent in configuration, physics, body model...

For now, i go to use your code to correct the bad angle in some Player animations.

 

It seemed to work fine for me, but I didn't tested it extensively. But I also kept all the SetPosition and SetAngle calls, just refactored them to use the new functions. I didn't touch the MarkerRef lines.

I would put some debug lines inside the new functions to see whether they are called when it doesn't work, and also to see what the final strings are in the ExecuteCommands. Can it be that appending the floats to the strings sometimes results in an invalid command?

Edited by Robo00
Posted
12 hours ago, s3ngine said:

Greetings,

 

 

Sir, I salute you. Just now, I tried your solution using the ConsoleUtil method in Skyrim LE, where the problem also exists, and it works perfectly. I tested it in some pretty rough terrain and the positioning worked every time. Note that I only use it for the player character, since doing SetPosition on NPCs obviously does not cause grass redraw. I'll report back if I find any issues in the future, but it looks good so far.

 

Minor hint, since I like it clean: Call ConsoleUtil.SetSelectedReference(none) afterwards to unselect the console reference.

 

Regards, s3ngine

 

 

I'm glad it was helpful. :)

Also, nice catch with resetting the reference.

Posted (edited)

I had to disable the mod for the moment because it turns my character invisible during sexlab animations (when rotating camera i see my near invisible character through wall, in direct view i don't)

Place : volkihar catle

Char : vampire nord

animation : furniture (furniture marker mod)

My female follower is not affected by this invisibility, same animation.

 

Once disabled the animation runs as usual, same char same furniture.

I thought it might help to report. My game is heavily modded and i had SLGP for SLSO

Edited by rjrc
Posted

This mod is really a milestone. However, could it be that the SLHH struggle animations are not playing anymore due to this mod? I just noticed it just after installing this mod. Could you check and provide a patch if it is so? I also have SLSO and the respective patch installed, but not SLU+ and its patch.

 

Thanks!

Posted
56 minutes ago, Grumbrum said:

This mod is really a milestone. However, could it be that the SLHH struggle animations are not playing anymore due to this mod? I just noticed it just after installing this mod. Could you check and provide a patch if it is so? I also have SLSO and the respective patch installed, but not SLU+ and its patch.

 

Thanks!

No, it was my fault. I didn't recognize that the latest SLHH has a new requirement. After installing that it works again.

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...