Jump to content

SexoutNG - Beta (2.10.93b10) release thread


Recommended Posts

Guest tomm434

No, I didn't edit any script since I named all mutants according to their references(right before beta14).

Nothing odd with player. I have no scripts running in gamemode block which affect player(at least from my mod).

Link to comment

Ok, thanks for keeping at it. I know what's going on, just not why. Something is smoking the actid, or failing to set/copy it, at times.

 

The only common factor I see right now is that whenever it happens, it's because the CIOS was done on an actor not involved in the act.. e.g. the last one that failed in the log was supposed to be Mutant06 + Sydney, and the spell to start it was cast on the player. That's abnormal but should work fine, unless the player is already involved in another act and that act ending is clearing out the vars.

Link to comment

2.6.85b24 in OP

- The sanitizer CIOS for actual sex now cast on correct actor (one of a/b/c) regardless of who it was initially cast on. NX spelltarget var updated.

 

 

A note to all if I wasn't clear about this -- Sexout:Start now goes away pretty rapidly when sexout starts. It first gets a new actID and copies Sexout:Start::* to Sexout:Start:{actid}::*, removes Sexout:Start::*, then casts the sanitizer. When the sanitizer is ready to proceed (if it doesn't abort), it copies Sexout:Start:{actid}:: to Sexout:Started (on all involved actors, even X), clears Sexout:Start:{actid}::, and casts the main processing effect.

 

Code looking for Sexout:Start NX vars should switch to Sexout:Started instead. I had to rename it so that subsequent misbehaving calls (that do not check inuse) did not stomp on the NX vars sexout itself still needs internally for a while.

Link to comment
Guest tomm434

Prideslayer, it works! I ran scene 2 times to make sure. From here on in I consider 24 to be my lucky number. I would change my nickname to Tomm424 right now but I'm afraid that people won't recognize me if I do that.

 

There is only one thing - in 12 stage sex with supermutan01 for player didn't happen. (on both tries)

Everything else works!!

 

I'm sure you're happy now.

 

ps. and I noticed bigger delay(about 1 second) between player undressing and sex starting. I guess this happens because of new system.

Sexout24.rar

Link to comment

Glad it's working, I will look into that issue about stage12 sex. Glad we're making some progress!

 

The undressing delay should be roughly the same as the old one, but I did rewrite it. The more items the character is wearing, the longer it takes. It's one of those things I want to toy with. I can definitely make it faster (it only removes a max of one item per frame right now) but that may introduce more bugs, so I'm waiting until current issues are solved.

Link to comment

The stage12 issue actually started before that.. I'm seeing echos of the same buggy.. stuff there still. I will look more in depth tomorrow.

 

fnSoCSv: Heelka (00000014) 'Sexout:Start:33::' -> MS15SuperMutant06RotundaRef (28151B83) 'Sexout:Started::'

fnSoNXSEVFo MS15SuperMutant06RotundaRef (28151B83) Sexout:Started::spellTarget MS15SuperMutant06RotundaRef (28151B83)

fnSoNXClr Sexout:Start:33:: MS15SuperMutant06RotundaRef (28151B83)

fnSoCSv: Heelka (00000014) 'Sexout:Start:33::' -> Heelka (00000014) 'Sexout:Started::'

fnSoNXSEVFo Heelka (00000014) Sexout:Started::spellTarget MS15SuperMutant06RotundaRef (28151B83)

fnSoNXClr Sexout:Start:33:: Heelka (00000014)

SexoutNGBES (0): SES A=MS15SuperMutant01RotundaRef (060205DE) CBD=<no name> (00000000)

SexoutNGBES (0): SES B=Sydney (06003A77) CBD=<no name> (00000000)

SexoutNGBES (0): SES C=<no name> (00000000) CBD=<no name> (00000000)

SexoutNGBES (0): SES X=<no name> (00000000) CBD=<no name> (00000000)

Those 0's in the last 4 lines at the start indicate the actid was again lost somehow. That is probably related to problems in followup acts. The purpose of that number is to avoid collisions between acts, but if more than one act thinks it's 0.. well.. collision time.

 

The clears look like they fired in the right order this time though so it needs a more thorough investigation.

Link to comment

actually looking at it, I bet it's still the same problem. The call sorter (CSE) needs to pass the act ID that it moved all the NX vars into on to the sanitizer (SAN). Currently it does this by setting an NX var on the target before CIOSing the SAN.

 

SAN copies that value (to find where the other NX vars were copied to) and then clears the NX var.

 

If somehow the same actor was involved in both acts, one may clear the var the other needs (or the vars overwrite each other).

 

That is what is happening here it seems. I need a better way to tell SAN the actID.

 

Edit: With the UDFs taking care of the maximum script length issue, maybe it's time for me to roll CSE and SAN back into a single spell. That should alleviate the problem. I don't need to pass the data to a spell if I don't need to cast the spell in the first place.

Link to comment
Guest tomm434

I see what you did with Undress token. So, you think that if you replace all "elseif 18 == nStage" with "if 18 == nStage", there might be problems?

Link to comment

A note to all if I wasn't clear about this -- Sexout:Start now goes away pretty rapidly when sexout starts. It first gets a new actID and copies Sexout:Start::* to Sexout:Start:{actid}::*, removes Sexout:Start::*, then casts the sanitizer. When the sanitizer is ready to proceed (if it doesn't abort), it copies Sexout:Start:{actid}:: to Sexout:Started (on all involved actors, even X), clears Sexout:Start:{actid}::, and casts the main processing effect.

 

Code looking for Sexout:Start NX vars should switch to Sexout:Started instead. I had to rename it so that subsequent misbehaving calls (that do not check inuse) did not stomp on the NX vars sexout itself still needs internally for a while.

 

To verify:  SAN is cast before callbacks, so timings aren't going to be fucked up, right?  That is, no need to worry that somehow CBs are going to be looking for Started vars before they exist, right?  EDIT:  Tried w/ Resize, and it seems to work as it did before.  Just paranoid/good to verify.  :blush:

 

You may want to add this/update the API OP.  And by "may want to" I mean "reduce future 'why isn't this working?'".  ;)

 

That said, I do wonder how many old mods that are still in use have stopped being updated post-NX introduction.  Hence, their chance of being broken.

 

EDIT EDIT : P    :  I imagine that there is, but I didn't see it in skimming.  Is there a way for a mod to get the current version of SO and possibly which beta it is, if applicable?  Thought maybe I should add a message to tell people to download the right version of Resize if they're using the wrong version of it for the version of SO that they're using.

Link to comment

I see what you did with Undress token. So, you think that if you replace all "elseif 18 == nStage" with "if 18 == nStage", there might be problems?

That should work fine, I'll just wait to start trying that kind of stuff until I'm on the 86 cycle. What I found some time ago is that because armor/clothing can have it's own scripts/effects and wearing/removing causes a graphics update, it was best to not try them all at once.

Link to comment

 

A note to all if I wasn't clear about this -- Sexout:Start now goes away pretty rapidly when sexout starts. It first gets a new actID and copies Sexout:Start::* to Sexout:Start:{actid}::*, removes Sexout:Start::*, then casts the sanitizer. When the sanitizer is ready to proceed (if it doesn't abort), it copies Sexout:Start:{actid}:: to Sexout:Started (on all involved actors, even X), clears Sexout:Start:{actid}::, and casts the main processing effect.

 

Code looking for Sexout:Start NX vars should switch to Sexout:Started instead. I had to rename it so that subsequent misbehaving calls (that do not check inuse) did not stomp on the NX vars sexout itself still needs internally for a while.

 

To verify:  SAN is cast before callbacks, so timings aren't going to be fucked up, right?  That is, no need to worry that somehow CBs are going to be looking for Started vars before they exist, right?  EDIT:  Tried w/ Resize, and it seems to work as it did before.  Just paranoid/good to verify.  :blush:

 

Yes, SAN comes before all that.

 

You may want to add this/update the API OP.  And by "may want to" I mean "reduce future 'why isn't this working?'".  ;)

I've been working on a rewrite of the whole thing. :)

 

That said, I do wonder how many old mods that are still in use have stopped being updated post-NX introduction.  Hence, their chance of being broken.

 

EDIT EDIT : P    :  I imagine that there is, but I didn't see it in skimming.  Is there a way for a mod to get the current version of SO and possibly which beta it is, if applicable?  Thought maybe I should add a message to tell people to download the right version of Resize if they're using the wrong version of it for the version of SO that they're using.

SexoutNG.nVerMaj == 2, SexoutNG.nVerMin == 6, SexoutNG.nVerRelN == 85.. ;)

 

You only really have to check nVerRelN, it never goes down.

Link to comment

Sweet jesus.. first test after breaking the SAN functions out into UDFs, putting them in CSE, and updating CSE to do the old SAN waitloop (and blanking SAN spell/script in the process)... worked. Two acts in a row with the freeze test. That's what I like to see. Got a UDF error to iron out but act proceeded as normal.

 

Debugging things like this is really tedious!

Error in script 0c097aa1
Operator == failed to evaluate to a valid result
    File: Sexout.esm Offset: 0x7E85 Command: <unknown>
Link to comment
Guest
This topic is now closed to further replies.
  • 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