sairion350 / ostim Goto Github PK
View Code? Open in Web Editor NEWOSex overhaul
License: GNU General Public License v3.0
OSex overhaul
License: GNU General Public License v3.0
Sexlab allows you to query a thread and return if the player or a specific actorref is in that thread. If you want to do the same thing in Ostim you need to do something ugly like:
if (Ostim.GetDomActor() == PlayerRef || Ostim.GetSubActor() == PlayerRef || Ostim.GetThirdActor() == PlayerRef)
My understanding is that we currently cache the actors of the most recent ostim scene until a new one starts, so it shouldn't be an issue to return those even if a scene isn't currently running.
Something you could call from OsexIntergrationMain would be ideal.
if (Ostim.HasPlayer() || Ostim.HasActor(Follower.GetActorRef())
Would be best probably?
OStim/scripts/source/OsexIntegrationMain.psc
Line 2650 in 8742925
This can also be thrown if OSA fails to load, for example is SkyUI is not installed. Perhaps the response should be expanded to include those as potential causes. Alternatively, a seperate test to check that OSA / skyui is loaded at all could be implemented.
Need to re-add subthreads, should be as simple as just reattaching the subthread scripts to forms & updating 1 function in Main. Quests maybe? Or ref aliases?
low priority, but could be a fun little challenge.
being able to add or dismiss third actors from a scene could be really cool.
putting this here so I don't forget about it, and can take a look into it more deeply later.
Reports that outils.menumode() does not cover unpaused menus such as blacksmithing
Hello,
There is a problem with the Improved Camera ini file included in the OStim optional page, where the head part appears to "lag behind" the body in the first person, and some scripted camera scenes (ex. Falskaar ending is HEAVILY third-person scripted) are also broken because of this.
Here is the PrivateProfile Redirector mod
https://www.nexusmods.com/skyrimspecialedition/mods/18860
The mod loads all INI files into a cache, which speeds up response time for fetching these values.
Here is a link to an issue that I made on that mod for the improved camera ini
It appears that there are a few problems here.
The OStim Improved Camera ini file has a copy/paste issue lines 308-311. From that thread, "In the original file, on lines 308-311 there are options�fScriptedCameraPosX,�fScriptedCameraPosY,�fScriptedCameraPosZ but in the OStim file in the same place, they're�fCameraPosX,�fCameraPosY,�fCameraPosZ (see, no "Scripted" part) which matches a different set of options earlier on lines 274-276. Since there is only one section in the INI file (Main, one option overwrites the other. I don't know how this could affect things, but it could�be the reason. Try to renamed those options in the OStim file by adding "Scripted" to the name (e. g.�fCameraPosX ->�fScriptedCameraPosX and so on). "
From Kerber100 on the PPR page, "So it seems that WinAPI (which is what the original game uses) and the INI parser I use in PPR employ different strategies when multiple identical options are present in the same section. I'll inform the author of that modified INI file. "
To fix this, I have edited the ini file, per Kerber100's instructions, and tested successfully on both a utility Wabbajack (SMEFT with just Improved Camera and PPR) and on Licentia 9 (beta version). The attached file fixes this issue, and has the corrected scripted head positions, which fixes some issues I was also seeing while in Falsaar (using Licentia) in the scripted ending scenes.
Because we're changing the Dom/Sub/Third actors to match the position in the OSA scene, the calls to GetDomActor etc in OUndress no longer point to the correct actors
We could track the actor refs in OUndress on scene start and on third actor join instead of calling into ostim every time. If we go this route I think we'll need to make a call to GetActors to determine which actor has left the threesome (instead of using the current var) because the Third actor could be switched around and that ref will no longer be accurate
Apparently some idle activities like clapping in a tavern and playing instruments are special things called "scenes"
These can overwrite OStim mid-scene and pull NPCs out of sex scenes. Need some way to block them.
Most notable npc that glitches out is the bard in bannered mare
There has been a bug in OStim since 2.0 related to OSearch.
Currently, using OSearch multiple times in a row will usually cause an OSA crash. An OSA crash is when the left nav panel disappears and won't come back. Sometimes you can recover from this by using the roulette feature to jump start a new animation, but internally, OSA is dead for a while when this happens.
To reproduce this:
Start a scene
Search "dogg" with osearch and select doggystyle pulled out
Search "Squat" and select squat blowjob
Search "dogg" again and repeat the above
OSA will usually crash at this point. If not, keep going back and forth.
The crash seems to be caused by OSearch using WarpToAnimation. However, OAi frequently uses the function and it has never been observed crashing. Something related to how OSearch is setup seems to be the culprit, however, OSearch is extremely simple and less than 150 lines long.
An optional reward of 10k nexus dp (a value of $10 usd, can be cashed out) is offered to the person that submits either fixed OSearch or OStim code that completely prevents this OSA crash.
Seen OAI act up and not pick an animation a few times, usually there's a message about masturbation in the console when it happens, need to check before next release
Something related to freecam can lock up controls until the game is restarted. I have seen this happen is forcefirstperson() is caused while in freecam; i've taken care to avoid that but I have still seen it happen from time to time, and some users report it happens often
An optional $10 reward paid out in nexus DP (can be exchanged for money through paypal) is offered to anyone that can optimize DatabaseKeyAndParameterLookup in ODatabase.
Currently, this function takes about 1.3 seconds to run on all of the animations in OSex on my PC (i5 4690k). In OAi, this must be done 3 or 4 times, which means some functions in OAi can take up to 5 or so seconds. DatabaseKeyAndParameterLookup should optimized so that it will run for less than 0.5 seconds on a pc of my spec
This function searches through a JArray of JMaps, and copies the JMaps that match the key and value provided into the function, into a new JArray. At the end, it returns this array. Essential, it filters arrays into smaller ones. Nearly every lookup function in ODatabase uses this function, so optimizing it would drastically speed up ODatabase.
Most likely, optimizing it within papyrus further is not possible. The processing most likely has to be done outside the papyrus engine.
Originally OSA sent a SoS event to actors every second, I changed this so that its every scene change instead, for a few good reasons. However as a side effect sometimes it may flatten out, need a solution.
There are reports that face expressions are locking up, more info here: https://discord.com/channels/771971253199699988/833189051200045076/876006582662606888
This is something i'd like looking into for future updates
My last OStim version was 4.10. When updating to 5.31, i did the following
(1) Uninstalled everything related to OStim, OSex and OSA
(2) Loaded my saves and saved after 2 minutes each
(3) Cleaned all saves using ReSaver
(4) Installed OSA/OSex/OStim then plugins including OCum, animation packs etc
(5) Loaded the cleaned saves
All the saves where the PC was male updated and got the new MCM menus okay (usually within 3 minutes after loading)
All the saves where the PC was female failed to update. Specifically, the new MCM menus never showed up, even after waiting ingame for up to 30 minutes
The saves where the PC was also a Volkihar vampire CTD-ed on load and was entirely unsalvageable.
I have since recreated all my female characters and replayed them.
This stood out in that all my male characters successfully got the updates whereas all the female ones failed. I therefore wonder if the player character's sex has anything to do with it.
Reports of the moveto from beds causing all items to go zero-grav and float towards a wall
Currently FOV cannot be changed with IC installed, however by manipulating the bow-zoom variable with SKSE it should be possible. this will make the freecam with IC installed have feature parity with the non-IC one
Currently there is no easy way to do this. As a consequence, scaling is not reapplied correctly on flip.
An optional $25 reward paid out in nexus DP (can be exchanged for money through paypal) is offered to anyone that can build a fully function auto-updater.
Currently, updating OStim without performing a clean save is fairly likely to cause issues. Part of the difficulty in building an autoupdater is the fact that OSA must be restarted as well. Currently, all efforts to create a reliable auto-updater have failed. An auto-updater should be robust and able to handle significant changes to OStim's quests and OSA's scripts.
I don't know if anyone else is able to or not, but could someone try and make a VR port for Ostim? At all? I have Skyrim for VR and I'd like to try this mod.
Sometimes (~20% of the time) when I start a new game (I always start a new game when I test something), strip() will just fail and the actors will not get naked. It even happens if I call strip() manually outside of a scene. I have not seen anyone else report this so I'm not exactly sure what's going on.
Copying this from cacophany:
By far the most important is that Improved Camera still doesn't like Clippingless, sometimes it glitches to the head node causing shudder and bobbing, other times it messes with switching camera modes in the middle of a scene. This is probably the main feature I'd prefer be fixed, and I dunno how possible it is -- seamless switching back and forth at any time between first person clippingless, third person, and free cam -- whether a scene is going or not.
Improved Cam does a lot of interference with the freecam system. Ideally, we get this perfectly smooth.
As a loading screen, automatic ostim scenes sit on the default hub for a few seconds. With OD upgraded, can now change that behavior to decide the first anim before starting OSA
Lately there's been some crashes with this callstack:
[0] 0x7FF7D6A0FF43 (SkyrimSE.exe+BFFF43) BSXAudio2DataSrc::unk_BFFF10+33
[1] 0x7FF7D6A0D7DA (SkyrimSE.exe+BFD7DA) BSXAudio2GameSound::Func11_BFD780+5A
[2] 0x7FF7D69FE075 (SkyrimSE.exe+BEE075) unk_BEDEE0+195
[3] 0x7FF7D6A03325 (SkyrimSE.exe+BF3325) unk_BF3270+B5
[4] 0x7FFD27AA95BE (KERNELBASE.dll+495BE)
[5] 0x7FF7D6A04BF0 (SkyrimSE.exe+BF4BF0) BSAudioManagerThread::Func1_BF4B80+70
[6] 0x7FF7D6A1D6BD (SkyrimSE.exe+C0D6BD) StartAddress_0_C0D680+3D
[7] 0x7FFD284B7034 (KERNEL32.DLL+17034)
[8] 0x7FFD29FE2651 (ntdll.dll+52651)
Users usually have OVoice installed, which is the only addon to date that touches sound. But, a direct link to OVoice hasn't been found yet. More info on this will be added as we go.
There are some reports of the animation-cycling bug that happens when messing with saves mid-scene has come back, need to verify that fix still works since it was editing during subthread creation
https://www.nexusmods.com/skyrimspecialedition/mods/3862
Seems to break some bed searching: https://discord.com/channels/771971253199699988/833189051200045076/884184785310875689
A few users have been reporting a CTD on Orgasm. It seems to be linked with Slow Motion Orgasm in some manner.
Some users have reported that disabling Slow Motion Orgasm stops the issue.
https://discord.com/channels/771971253199699988/771971758047494145/865594852497817632
And in a crash log this user posted:
https://discord.com/channels/771971253199699988/771971758047494145/866257724270313472
You can see ConsoleUtilSSE.dll referenced right at the top of the stack:
Stack { [SP+0] 0x7FFA9FF5271E (ConsoleUtilSSE.dll+271E) (char*) "H?D$(H?D$hL?t$(?D$ �"
And the change gametime command referenced as well:
[SP+820] 0x235097B880C (char**) "sgtm 0.3"
That long char string (H?D$(H?D$hL?t$(?D$ �) also seems to be consistant between the crash logs posted.
I've tried recreating it and I'm unable to, but it seems pretty consistant for the people getting it.
If / as I find out more I'll keep this updated.
Occasionally dropped gear is suspended in mid-air, this seems to be related to how the objectreferences are placed and moved around the world. This is semi-random
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.