Jump to content

SexoutNG '98 BETA 8


Recommended Posts

Posted

Personally, I'd opt to add stage info to the overall ini section, which leaves room for intel for more than one animation in a single file:

stages=int
stagelength=string
; string of floats
stageids=string
; string of animIDs or filepaths for the stages

 

I worry that a folder structure like "DATA/Config/Sexout/DefAnimations/Sexout.esm/1501/1501.ini" basically assigns an entire folder and file to a single anim id. That seems like overkill and might slow down any reading of intel. Imo, you can easily park a bunch of them in a single file.

I do think it's a good call to make any import stuff to be something that's toggled from MCM rather than something that's always on as I suggested.

Posted

Apologies for interrupt your animation conversation but now that you mention it. I wonder if you could take a look to the animation manager function to make the animations list more clear, like for example if I want to disable sexout animations and leave amra animations activate alone. I am honestly confused what animations I am disabling or enabling so if you don't mind the suggestion some updating on this part could be come handly if you have some time.

 

Again thanks for the updates!

Posted
1 hour ago, DoctaSax said:

Personally, I'd opt to add stage info to the overall ini section, which leaves room for intel for more than one animation in a single file:

stages=int
stagelength=string
; string of floats
stageids=string
; string of animIDs or filepaths for the stages

 

 

 

You'd opt for somthing like this?:

Data\Meshes\characters\_male\idleanims

+Sexout.esm
  (All sexout .kf)
+Sexout-Amra.esp
  (All Amra .kf)
+ZAZ
  (All ZAZ .kf)
+Pregnancy
  (All Pregnancy .kf)
+AllNartaSexoutAnimations.esp
  (All AllNarta .kf)
+AllTentacles
  (All AllTentacles .kf)

 

DATA/Config/Sexout/AnimationsDef

Sexout.ini
Amra.ini
ZAZ.ini
Pregnancy.ini
AllNarta.ini
AllTentacles.ini

 

 

 

 

 

 

 

DATA/Config/Sexout/AnimationsDef/Sexout.ini

[Anim.111]
Actors = F
PosA = lay
Flags = masturbation, lay
Desc = Female laying on back fingering
;Furniture =


[Anim.1501]
Actors = nvsporecarrierM, nvsporecarrierF
PosA = squat
PosB = proneup
PosC = stand
AdjA = HOffset:63.984, HAngle:-173.719, VOffset:6.4, ZRot:6.6
AdjC = ; ActorC will need offsets to be determined for this animation
Flags = nvsporecarrier, doggy, lay, vaginal, anal, rape
Desc = Doggystyle hands bound behind
Furniture = Bed001, Bed005
StageAnim = 1501.1, 1501.2, 1501.3
Duration = 17.5, 72.5, 10
Path = Sexout.esm, Sexout.esm, Sexout.esm			; "characters\_male\idleanims" will be add as suffix

 

 

Indeed, that sounds better 😉

Posted (edited)

  

2 hours ago, Atreides__ said:

Apologies for interrupt your animation conversation but now that you mention it. I wonder if you could take a look to the animation manager function to make the animations list more clear, like for example if I want to disable sexout animations and leave amra animations activate alone. I am honestly confused what animations I am disabling or enabling so if you don't mind the suggestion some updating on this part could be come handly if you have some time.

 

Again thanks for the updates!

 

 

AnimManagement.jpg.95c6227b53575731ea4c241e177b4875.jpg

 

 

On the picture you have the list of all the anims of sexout (sexout.esm), as they are too numerous they are divided in different tabs (0-35 ; 35-70 etc). You know you're in the Sexout anim list because at the top of the right-hand window you have ‘Sexout.esm’, if you press ‘RIGHT’ (the key assigned to the direction your character to go "right") you'll access the next plugin, i.e. the ‘Sexout-Amra’ anim list, which also contains tabs.

 

If you want to block all the anims in a plugin you have to block all the anims in all the tabs.

 

 

 

You can also import/export your AnimManagement configuration from an .ini file. In AnimManagment's MCM menu, if you keep pressing ‘RIGHT’ you'll come to this menu.

You can even edit this file with a text editor. Here's what you'll find in AnimManagement.ini

[Pregnancy]
Anim.1=-1

[Sexout-Amra.esp]
Anim.1=1
Anim.2=1
Anim.21=1
Anim.22=1
Anim.41=1

 

1 means 'available'

-1 means 'blocked'

 

This file is located in Data\Config\AnimManagement (or overwrite\Config\AnimManagement if you use MO2)

Here are 2 additionals files:
- UnblockAll.ini
- BlockSexout.ini (block all anims from "Sexout.esm" )

 

AdditionalIni.zip

 

You can paste them in Data\Config\AnimManagement (or overwrite\Config\AnimManagement if you use MO2)

Then import BlockSexout.ini

 

 

Edited by Machiavelique
Posted (edited)
36 minutes ago, Machiavelique said:

  

 

 

AnimManagement.jpg.95c6227b53575731ea4c241e177b4875.jpg

 

 

On the picture you have the list of all the anims of sexout (sexout.esm), as they are too numerous they are divided in different tabs (0-35 ; 35-70 etc). You know you're in the Sexout anim list because at the top of the right-hand window you have ‘Sexout.esm’, if you press ‘RIGHT’ (the key assigned to the direction your character to go "right") you'll access the next plugin, i.e. the ‘Sexout-Amra’ anim list, which also contains tabs.

 

If you want to block all the anims in a plugin you have to block all the anims in all the tabs.

 

 

 

You can also import/export your AnimManagement configuration from an .ini file. In AnimManagment's MCM menu, if you keep pressing ‘RIGHT’ you'll come to this menu.

You can even edit this file with a text editor. Here's what you'll find in AnimManagement.ini

[Pregnancy]
Anim.1=-1

[Sexout-Amra.esp]
Anim.1=1
Anim.2=1
Anim.21=1
Anim.22=1
Anim.41=1

 

1 means 'available'

-1 means 'blocked'

 

This file is located in Data\Config\AnimManagement (or overwrite\Config\AnimManagement if you use MO2)

Here are 2 additionals files:
- UnblockAll.ini
- BlockSexout.ini (block all anims from "Sexout.esm" )

 

AdditionalIni.zip 1.94 kB · 0 downloads

 

You can paste them in Data\Config\AnimManagement (or overwrite\Config\AnimManagement if you use MO2)

Then import BlockSexout.ini

 

 

 

Wonderful! I appreciate the time you take for this. I just want to note I didn't know about the RIGHT key feature, I may miss it after reading the readme, so apologies. Definetly ,I will try it later and thanks again! :)

Edited by Atreides__
Posted

Just in case, another thing you may look into at some point: NPC often refuse to use TFIK if player is not involved in an act, which leads to them being misplaced towards each other or just sink in the ground.

 

Spoiler

FalloutNV2025-02-2214-04-01.png.21108b0f206d2522e42204cdbe745caf.png

 

 

 

Not sure if it's easy or even possible to fix, but still.

Posted (edited)
On 2/18/2025 at 3:36 AM, Machiavelique said:
AdjA = HOffset:63.984, HAngle:-173.719, VOffset:6.4, ZRot:6.6


Don't know if this will be useful or not, but I made a simple parser for this part (but of course simplifying this whole part with individual sections would be more efficient)

 

test ini "data\config\1.ini"

[Anim.1501]
AdjA = HOffset:63.984, HAngle:-173.719, VOffset:6.4, ZRot:6.6 
AdjB = HAngle:-12, HOffset:22, ZRot:15.6, VOffset:6.0 


test script 

scn aaainiparsertest
string_var AdjA
string_var AdjB
array_var arAdj
array_var arAdjextra
begin function{}

    AdjA = GetINIString "Anim.1501:AdjA" "1.ini" ; AdjA string from ini
    AdjB = GetINIString "Anim.1501:AdjB" "1.ini" ; AdjB string from ini

    arAdj = call aaaadjparsertestfn AdjA "A" ;initial Adj parsing
    arAdjextra = call aaaadjparsertestfn AdjB "B" ;extra Adj for testing 
    ar_Cat arAdj arAdjextra ; merging arrays together, in case if need

    printc "HOffsetA: %.3f" (arAdj["HOffsetA"])
    printc "HAngleA: %.3f" (arAdj["HAngleA"])
    printc "VOffsetA: %.3f" (arAdj["VOffsetA"])
    printc "ZRotA: %.3f" (arAdj["ZRotA"])

    printc "HOffsetB: %.3f" (arAdj["HOffsetB"])
    printc "HAngleB: %.3f" (arAdj["HAngleB"])
    printc "VOffsetB: %.3f" (arAdj["VOffsetB"])
    printc "ZRotB: %.3f" (arAdj["ZRotB"])
    
    arAdj = arAdjextra = Ar_null
    Sv_Destruct AdjA, AdjB

end


parsing script

scn aaaadjparsertestfn

begin function{string_var Adj, string_var Char} ; Adj is input string to parse, Char is additional letter to add in order to match what sexout used before (like HOffsetA - HOffsetB - HOffsetC)
array_var Entry
array_var artemp = sv_split Adj ", " ; splitting strings on pairs by comma and cut extra space
array_var artemp2
array_var Ar_Out = ar_Construct StringMap 
    foreach Entry <- artemp
        artemp2 = (sv_split $(Entry["value"]) ":") ; splitting pairs by colon
        let Ar_Out[(artemp2[0]+$Char)] = #(artemp2[1]) ; "Variable+Char" = float number
    loop
    SetFunctionValue Ar_Out
    Sv_Destruct Adj
    Entry = artemp2 = artemp = Ar_Out = Ar_null
end


console log output

call aaainiparsertest
HOffsetA: 63.984
HAngleA: -173.719
VOffsetA: 6.400
ZRotA: 6.600
HOffsetB: 22.000
HAngleB: -12.000
VOffsetB: 6.000
ZRotB: 15.600

 

Edited by Neutron_rus
Posted

Thanks, I appreciate your help. Indeed it's always useful.


By the way, I'd love to hear your opinion on how the .ini should look? I suggested this form to make it simple and readable for the user, despite the resources.
Do you think it should be done this way or would another form be more appropriate ?

Posted (edited)
9 hours ago, Machiavelique said:

By the way, I'd love to hear your opinion on how the .ini should look? I suggested this form to make it simple and readable for the user, despite the resources.
Do you think it should be done this way or would another form be more appropriate ?

Outside of 'Adj' part that ini format looks more or less fine and simple to implement. As for if it should be 'all in one' ini or multiple in separate folders, I'm not really sure, multiple files might be better for modders, but I just don't know how much overhead both versions will cause at a larger scale anyway.

I can modify 'fnSexoutAddAnim' to convert all existing animation settings into ini files for both folder formations, then will be need to set both samples to work in order to check with script profiler what's better or not. Also if there's no problem with adding extra plugins like 'ShowOff', then we can try ini caching functions and/or json functions.



One more possible folder formation with mix of both, global ini for easier initialization and file tracking after + small ini files that will hold the data (don't know how ini files themselves should be structured yet)

+Sexout
	+DefAnimations
		+Sexout.esm
			AnimList.ini
			+DefAnim
				1.ini
				2.ini
				1501.ini
				1502.ini
		+NewPluginAnimations
			AnimList.ini
			+DefAnim
				1.ini
				2.ini
				3001.ini
				3002.ini

 


Example of possible ini structure
 

AnimList.ini ;contains key features

[Anim.1501]
Actors = nvsporecarrierM, nvsporecarrierF
Flags = nvsporecarrier, doggy, lay, vaginal, anal, rape
Desc = Doggystyle hands bound behind
StageAnim = 1501.1, 1501.2, 1501.3

; alternative version that can call external animations
Required = NewPluginAnimations ; can use extra animations from this folder
StageAnim = 1501.1, 1501.2, 1501.3, 3001.3, 3002.6, 1502.2 ; 1501.1, 1501.2, 1501.3 are parsed from it's dedicated file, 3001.3/3002.6 from external files (3001.ini/3002.ini) with given folder to scan, 1502.2 will use external file (1502.ini), but same folder. 

 

1501.ini ;gets parsed when animation called, contains everything that animation requires

[1501.1]
PosA = squat
PosB = proneup
PosC = stand
AdjA = HOffset:63.984, HAngle:-173.719, VOffset:6.4, ZRot:6.6
Furniture = Bed001, Bed005
Duration = 17.5
Path = Sexout.esm, Sexout.esm, Sexout.esm
[1501.2]
PosA = squat
PosB = proneup
PosC = stand
AdjA = HOffset:64, HAngle:-173, VOffset:6.4, ZRot:6.6
AdjB = ZRot:20
Furniture = Bed001, Bed005
Duration = 72.5
Path = Sexout.esm, Sexout.esm, Sexout.esm
[1501.3]
PosA = stand
PosB = stand
PosC = stand
Duration = 10
Path = Sexout.esm, Sexout.esm, Sexout.esm

 

Edited by Neutron_rus
Posted (edited)

First rough iteration of animation to ini converter.
was injected in the beginning of fnSexoutAddAnimToMod script
  
 

  array_var Entry
  string_var filename = "Sexout/AnimationsDef/" + $sPlug + ".ini"
  string_var name = "Anim." + $(animDef["idx"])
  
  foreach Entry <- animDef
;TypeOf "String", "Number", "Form", "Array", "StringMap", "Map"
    string_var nametemp = $name + ":" + $(Entry["key"])
    if eval (TypeOf Entry["value"]) == "Number" && eval (TypeOf Entry["value"]) != "StringMap"
      if eval Entry["key"] == "idx"
        continue
      else
        float ftemp = #Entry["value"]
        SetINIFloat $nametemp ftemp $filename
      endif
    endif
    if eval (TypeOf Entry["value"]) == "String" && eval (TypeOf Entry["value"]) != "StringMap"
      string_var stemp
      if eval Entry["key"] == "idle"
        nametemp = $name + ":" + "path"
        string_var sanim = $(Entry["value"])
        foreach string_var sletter <- "abcx"
          ref anim = EditorIDToFormID ($sanim + $sletter)
          if GetType anim == 72
            stemp += GetIdleAnimPath anim
            if eval sletter != "x"
              stemp += ", "
            endif
          else
            if eval (sv_RegexMatch stemp ".*(\,\s+)$") ;fixed part
              stemp = sv_RegexReplace stemp "$1|(.*)\,\s+$"
            endif
            break
          endif
        loop
      else
        stemp = $Entry["value"]
      endif
      SetINIString $nametemp $stemp $filename
      sv_Destruct stemp, sletter
    endif
    if eval (TypeOf Entry["value"]) == "Map" || eval (TypeOf Entry["value"]) == "Array"
      foreach array_var atemp2 <- Entry["value"]
        string_var stemp3 += $atemp2["value"]
        if eval atemp2["key"] != ar_Last (Entry["value"])
          stemp3 += ", "
        endif
      loop
      SetINIString $nametemp $stemp3 $filename
      ftemp = 0
      sv_Destruct stemp, stemp3
    endif
    if eval (TypeOf Entry["value"]) == "StringMap"
      foreach array_var atemp <- Entry["value"]
        string_var stemp2 += $atemp["key"] + ":" + $atemp["value"]
        if eval atemp["key"] != ar_Last (Entry["value"])
          stemp2 += ", "
        endif
      loop
      SetINIString $nametemp $stemp2 $filename
      ftemp = 0
      sv_Destruct stemp, stemp2, stemp3
    endif
  loop


updated output ini files after fix
AnimationsDef.7z

Edited by Neutron_rus
fixed kf parsing part to not add extra comma on 3 actor animations
Posted

I'm feeling embarrassed because I haven't done much at the moment and I'd also like to make a contribution and start working on implementing the code, or even if we can work together and divide up the tasks.

The problem is that I know I won't be working on it at the moment and that bothers me because I don't want to hold you up. I wouldn't be against the idea that you could also own this topic and publish updates (if possible and if you want to).

 

 

I like your approach because it gives us something to work with (and allows us to start looking at response times).

I wasn't convinced by the use of 2 ini files (AnimList and Animdef) but on reflection it has the advantage of having the same structure for ‘classic animations’, ‘stage animations’ and ‘scene animations'.

 

Although I'm still thinking about whether it wouldn't be better to separate everything (Classic anim from StageAnim from SceneAnim)

14 hours ago, Neutron_rus said:
+Sexout
	+DefAnimations
		+Sexout.esm
			ClassicAnim.ini
			StageAnim.ini
			SceneAnim.ini
		+NewPluginAnimations
			ClassicAnim.ini
			StageAnim.ini
			SceneAnim.ini

 

 

 

However, for the moment I'm more convinced by what you're proposing: an AnimList file that declares all the anims and .ini files that contain the anims' configuration.

Concerning adj, It seems clearer to me that

 

adj = HOffsetA:13, HAngleA:-90, VOffsetA:5, VOffsetB:2.5, ZRotC:-2.3  

 

would be preferable to adjA, AdjB

Posted (edited)
2 hours ago, Machiavelique said:

I'm feeling embarrassed because I haven't done much at the moment and I'd also like to make a contribution and start working on implementing the code, or even if we can work together and divide up the tasks.

For now I just do rough prototyping of generating ini files for future fine tuning and have no idea where I'll be injecting all this ini files yet. (will be need to do more reverse engineering later)
And I was actually thinking about something github/gitlab-like, but for now I decided to use separate plugin instead, should be simple to compare differences with fnvedit later. Feel free to ping me in dborg's discord if need.
 

2 hours ago, Machiavelique said:

The problem is that I know I won't be working on it at the moment and that bothers me because I don't want to hold you up. I wouldn't be against the idea that you could also own this topic and publish updates (if possible and if you want to).

I'm more on a technical side, rather than creative, so I'm not sure if I will be able to lead it any better. I usually just send all patches for SCR/SOP/MPO/other mods to dborg to publish.

 

2 hours ago, Machiavelique said:

adj = HOffsetA:13, HAngleA:-90, VOffsetA:5, VOffsetB:2.5, ZRotC:-2.3  

this is how current iteration of animation to ini converter doing it 

 

2 hours ago, Machiavelique said:

Although I'm still thinking about whether it wouldn't be better to separate everything (Classic anim from StageAnim from SceneAnim)

I think there can be extra variable that can be detected to know if it's legacy or not.

Upcoming problem I found while exploring ZAZ stuff is will be about how to set up animation objects in the future? Should people add all this objects in geck before trying the animation in game, or does sexout should generate dynamic animated objects with assigned animation (dynamic idle animations should be implemented as well) at the runtime and mostly remove any need to enter geck at all?

 

Edited by Neutron_rus
Posted

Another thing I found that if you sert Offset straight in ActRunFull call, this offset multiplies every time you change animation. Offsets (specificaly HOffset for calling animation on bed) are needed sometimes, so maybe it can be addresset by not injecting offset value constantrly when animation switches?

Posted (edited)

Okay, first iterations of 'ini to sexout' parser + dynamic animation loader is done. Next step will be to fix positional bugs(done) and add support of dynamic animated objects.

 

dynamic animated objects will increase requirements of xnvse to 6.3.6

 

current folder formation

+Sexout
	+AnimationsDef
		+Sexout-Amra.esp
			AnimDef.ini
		+Pregnancy
			AnimDef.ini
		+Sexout-Amra.esp
			AnimDef.ini
		+ZAZ
			AnimDef.ini
		+Newplugin
			AnimDef.ini

 

ini sample (removed Anim. part for more easier parsing)

[708]
actors=MM, MF
adj=HOffsetA:-7
desc=Missionary with B's hips up and legs crossed
flags=miss, vaginal, anal, lay
path=A:Characters\_Male\IdleAnims\SexoutNG\givers\lay\708a.kf, B:Characters\_Male\IdleAnims\SexoutNG\takers\lay\708b.kf
pos=A:kneel, B:layup
[709]
actors=MM, MF
adj=HOffsetA:-6, VOffSetA:10, VOffsetB:10
desc=Missionary with B legs around A's waist
flags=miss, vaginal, anal, lay
path=A:Characters\_Male\IdleAnims\SexoutNG\givers\lay\709a.kf, B:Characters\_Male\IdleAnims\SexoutNG\takers\lay\709b.kf
pos=A:fours, B:layup

 

Edited by Neutron_rus
Posted (edited)

Finished making dynamic animated objects and made a few runs, so I think it should be fine to release test version. It's still very rough and buggy, use at your own risk.
 

changelog
-added animation loader from ini files

-added functions to create dynamic animation (animation information is parsed from ini files, no geck required)
-added functions to create dynamic animated objects (for now supports up to 5 models per actor, zaz ones only uses up to 2, so full functionality is not tested)

-slightly rewrote old code, but overall everything remains the same

-version 2.98.4

known issues 
-crashes, usually happens indoors (from multiple tests it's most likely related to dynamic animated objects models that game removes from the memory, resulting in crash tested even w/o anim objects and still crashes, so I have no clue for now about how to fix it yet)
-camera bug on animation reset for some animations (can be fixed by doing another animation)
-penis model might not appear if actor was not naked (possibly because not all animations have penis props)

Notes
There's no checks on if prop model and/or animation files are exist when animation is called, and if nothing will be found, it will spam some errors in console. (in case of package that includes ini for allnarta's animations, make sure to have files from original mod installed)
Since animations are dynamically generated, external plugins doesn't really required to use animations.
For now there's no dynamic 'reset' animation, so some animations will consistently result in bugged camera after the act. (may add this function later)  

Note to Allnarta 
I removed animation loader code from 'fnSexoutAddAnimToMod', now it's only purpose is to generate ini files. I commented out 'call fnSexoutAddInternalAnimsAllnarta' in 'AllnartasAnimationsQuestScript', to not regenerate ini on load. This call will now be done by sexout itself if main animation folders is empty (and only if plugin is enabled in load order), manual call of commented script in console will regenerate ini files as well (with exception of tentacle prop).
Prop parser is in 'fnSexoutParseAnimObjects'.


ini sample (from zaz, as it was the most complex thing to parse)

[307]
actors=MMM, MFM
desc=Pillory fast + Spank + Thumb Hold Hump ActA / Lickky Fwd ActC
flags=bound, pillory, spitroast, oral, vaginal, anal, stand, fast, analingus
path=a:characters\_male\idleanims\BondageAnimations\ZAZ\Sex Anims\Pillory 3p\05PillorySX3pA.kf, b:characters\_male\idleanims\BondageAnimations\ZAZ\Sex Anims\Pillory 3p Nsx\03Pillory3pB.kf, c:characters\_male\idleanims\BondageAnimations\ZAZ\Sex Anims\Pillory 3p Nsx\03Pillory3pC.kf, aNP:characters\_male\idleanims\BondageAnimations\ZAZ\Sex Anims\Pillory 3p\05PillorySX3pA.kf, bNP:characters\_male\idleanims\BondageAnimations\ZAZ\Sex Anims\Pillory 3p Nsx\03Pillory3pB.kf, cNP:characters\_male\idleanims\BondageAnimations\ZAZ\Sex Anims\Pillory 3p Nsx\03Pillory3pC.kf
pen=ain:genital, ato:b, cin:mouth, cto:b
pos=A:stand, B:bend, C:bend
prop=b2NP:ZAZ\AnimObjects\SX\Other\Tongue Anim Object.nif, b2:ZAZ\AnimObjects\SX\Other\Tongue Anim Object.nif, b:ZAZ\AnimObjects\SX\Pillory\01PillorySXProp.nif

[1234] ; anim number
actors= ; actors
desc=text ; description
adj = HOffsetA:13, HAngleA:-90, VOffsetA:5, VOffsetB:2.5, ZRotC:-2.3  ;adjust offsets for actors
flags=oral, vaginal, anal, stand, fast ; flags for picker?
path=a:A.kf, b:B.kf, c:C.kf, aNP:A.kf, bNP:B.kf, cNP:C.kf ; animations paths, NP part is from zaz NoProp flag
pen=ain:genital, ato:b, cin:mouth, cto:b  ;seems like it's tags for spunk to figure out what goes where, used in three actor anims
pos=A:stand, B:bend, C:bend ; poses, don't know what they do
prop=b2NP:Some.nif, b2:Some.nif, b:Some.nif, a:Some.nif, a2:Some.nif, a3:Some.nif, a4:Some.nif, a5:Some.nif ; paths to prop models, up to 5 models per actor, NP flag is for zaz

 

AllnartaSexoutAnimations-testsngfix.esp test sexout+ini.7z test sexout+ini+including allnarta animations.7z

Edited by Neutron_rus
Posted

Little bit of offtop from .ini features update: I remembered that Sexout always lacked a equality for females when it got to underwear/nudity in normal game/sex. Males use bodysuit, which allows players to have non-nude male body out of sexout functionality, while females have to be always use naked base body.

 

I think adding bodysuit option for females, same as for males, would be very easy and fast thing, because I remember that I did add it for myself few years ago.

Posted
19 minutes ago, Allnarta said:

Little bit of offtop from .ini features update: I remembered that Sexout always lacked a equality for females when it got to underwear/nudity in normal game/sex. Males use bodysuit, which allows players to have non-nude male body out of sexout functionality, while females have to be always use naked base body.

 

I think adding bodysuit option for females, same as for males, would be very easy and fast thing, because I remember that I did add it for myself few years ago.

I might look into that when I'll be checking if distance based TFIK will work on npcs or not.
And I'm sure it's because of SCR, SCR have various female body types naked and not (with pregnancy support), so there wasn't really a need for that.

Posted
1 minute ago, Neutron_rus said:

I might look into that when I'll be checking if distance based TFIK will work on npcs or not.
And I'm sure it's because of SCR, SCR have various female body types naked and not (with pregnancy support), so there wasn't really a need for that.

 

That will be great! A lot of people do not use SCR, so I think this feature will look better in a framework itself.

Posted

Good job!

I haven't looked at what you've done yet but I've just tried it and it looks pretty good. If you load them into cache memory every time you load a game, I don't see any latency, which is pretty impressive. I also haven't seen any crashes yet, just Spunk's Arousal not working.
I'll pm you on DBorg2 discord for more details.

 

Since most of the framework is redesigned, I think it's better to release it as SexoutNG 2.11.0 beta X.

If you agree I can release your version as 'WIP SexoutNG 2.11.0 beta 1' on the main page. This way, anyone who is interested in testing this new SexoutNG version can help by reporting issues.

Posted (edited)
17 minutes ago, Machiavelique said:

I haven't looked at what you've done yet but I've just tried it and it looks pretty good. If you load them into cache memory every time you load a game, I don't see any latency, which is pretty impressive.

Right now it just generates similar structured array like in the old system, so most things working more or less fine w/o extra changes to the main code (at least on sexout side)

 

17 minutes ago, Machiavelique said:

Since most of the framework is redesigned, I think it's better to release it as SexoutNG 2.11.0 beta X.

If you agree I can release your version as 'WIP SexoutNG 2.11.0 beta 1' on the main page. This way, anyone who is interested in testing this new SexoutNG version can help by reporting issues.

Sure, just make a note for people who uses Allnarta's animations to use patched esp, as otherwise it will be regenerating Allnarta's animations ini files on every load. 

Edited by Neutron_rus
Posted

I want to thank every one involved in this discussion. I have no clue, tech wise, what you are talking about, but that you are talking about a wonderful thing for gamers, faithful to a long ago published game. Congrats to your knowledge, abilities and comradeship in pursuing this goal.

Posted
On 2/26/2025 at 7:25 AM, Neutron_rus said:

I commented out 'call fnSexoutAddInternalAnimsAllnarta' in 'AllnartasAnimationsQuestScript', to not regenerate ini on load.

 

I will update mod and remove function script completely, when ini-related update will become official release. :)

Posted

SexoutNG 2.11.0 beta 1 from Neutron_rus is now available since the main page. I've just edited sexoutUpgrade and added 2 scripts to allow portability of versions 2.10.X to 2.11.X

Posted
6 hours ago, Machiavelique said:

I've just edited sexoutUpgrade and added 2 scripts to allow portability of versions 2.10.X to 2.11.X

I tried to do version switching myself, but ended up triggering spunk's version check that sexout have wrong version. Good that your edit

works, I'll just transfer my code to there then.

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