Jump to content

The C.A.N.S. (Cooperative Algebraic Node Sizing) Framework


Recommended Posts

Pretty easy to reset node scales on PC.... not so easy on an NPC, or at least that's been my experience.

 

 

well the wife just told me we're having people over tonight for drinks so.... not sure I'll actually get to run my "way too many milky tits" test tonight.

But.... you never know.

 

But basically this would be best on a new game and MAY have undesirable effects if introduced mid-game IF the nodes are not at their base values when it's installed.

That sound like a fair statement?

 

I am pretty sure that MME resets to default if you do a reset/uninstall from its MCM menu. Of course that means making all of your milk maids again, but..... this is not without its perks :)

 

For SGO I am pretty sure if I cast the body reset spells so it "forgets" all pregnancy data for an NPC, it should reset the nodes as well, but I haven't tested that.

 

So.... for now... I'm going to stay with the safe route and just test on this new profile where basically everything is being seen for the first time (starts with a clean character out of Helgen with no mods other than the ones needed to make the character.... mods added in stages once he's out of Helgen.... or "she" in the case of a female character)

 

Interesting note and I'll try to get more meaningful and repeatable results to report, but when I impregnated my followers FIRST using SGO and got her making SGO milk... and THEN made her a milk maid after that.... I see FAR less of the node scale jumping. I have no idea why that would make a difference or if it actually DOES make a difference. SO I'll need to have time to look at that more closely..... mmmmm.... close-up boobs....... err.... uhhh.... for testing of course.

 

Link to comment

I still have no clue where that node jumping thing is coming from, especially if it's set to highest only, it shouldn't do a damn thing until it finishes calculat- Holy shit i think i figured it out while typing this. CANS removes the old transform and then adds a new one, that gap of a few lines of code must be updating the node size twice. Well, that would at least explain why it drops and thn bounces back up. Let me look into that.

Link to comment

With MME and SGO active and both providing scaling information to CANS:

Resetting SGO had the undesireable effect of making my follower's breast stop scaling at all, even though MME was still actively requesting node changes.

 

Resetting SGO involves casting a body reset spell on the NPC. SGO then "forgets" all stored data for that NPC. Casting SGO's Ultrasound spell on the NPC is showing breast and belly nodes at the default of 1.

 

However..... this character has milk on board from MME. MME's MCM shows she should be scaled to 1.53 and I can assure you, she is not. Using the "Wait" key to pass 12 hours should have her scale larger in MME. She does not scale and yet MME's MCM shows she has increased milk available and should be scaled to 3.23 (I have the max CANS breast size set to 2, so she'd never get to that 3.23 but she should look pretty hefty at this point)

 

So.... right now I'm going to say that resetting nodes to default in SGO has some kind of negative impact, until I can figure out what I may have done wrong. 

Before trashing this session I'm going to try resetting MME as well to see if I can "kick start" it into scaling her again.

Link to comment

AHAH!  SUCCESS!

 

I had to change cells. went into a building and her breasts scaled to the expected size.

So it DID work, but it apparently takes a cell change to show the result.

 

 

So I have gone into a save that had SGO and MME actively scaling my follower,

RESET SGO by casting it's body reset spell.

RESET the Milk Maid information using Reset Maid in MME's MCM

 

Remade the milkmaid (gave her a Lactacid and once she was a Milkmaid again I went into MME's MCM and readjusted her level to what it was before I started messing with her)

 

At this point only MME should be scaling her. 

 

Change cells for the effects to take hold and show.

 

 

Link to comment

Probably my last entry for today. I'll quit blowing up your thread here. :)

 

With just the one follower and after successfully resetting both MME and SGO and getting her scaling again, I got her full of milk from both MME and SGO. Using JUGs, I can milk both milks at the same time. SGO milk depletes at a random rate of 1 to 3 seconds per milk. MME depletes per that mod's function. 

 

Milking both.... essentially causing both mods to request node changes... I get quite a bit of node popping. Sometimes very noticeable. Sometimes much less so. And I'm zoomed in watching for it so.... some of the popping would probably not be real noticeable but some is VERY noticeable.

 

I think it depends greatly on the difference between what the 2 mods are requesting. One has each milk scaling the breast by .05 to a max of 1.8. The other has 10 milks scaling to 1.8 so each milk is .18 so depletion happens at different scale rates.

 

If you can solve that popping, this is pretty much golden so far for the 2 mods I'm testing it with. And you can probably apply what you're figuring out for the breasts... to the belly and butt to head off problems there before they happen. :)

 

Link to comment

AHAH!  SUCCESS!

 

I had to change cells. went into a building and her breasts scaled to the expected size.

So it DID work, but it apparently takes a cell change to show the result.

 

 

So I have gone into a save that had SGO and MME actively scaling my follower,

RESET SGO by casting it's body reset spell.

RESET the Milk Maid information using Reset Maid in MME's MCM

 

Remade the milkmaid (gave her a Lactacid and once she was a Milkmaid again I went into MME's MCM and readjusted her level to what it was before I started messing with her)

 

At this point only MME should be scaling her. 

 

Change cells for the effects to take hold and show.

 

Weird, but it sounds like it's an oversight in the combination of mods. Not really sure what, but CANS doesn't really do anything on cell changes (except for the first application to the player.

 

Edit: Holy shit I just realized I forgot a line of code that actually may have been causing problems. Update is compiling rn, updating in just a few, sorry.

0.9.1.1 is out, please, especially if you're testing, update immediately. One line of code but if I'm right (and I probably am) then without it every time a new mod registers it just kind of deletes all the old ones because I am stupid. Should be able to upgrade from 0.9.1.0 with no problems.

Link to comment

There is something like this already made (http://www.nexusmods.com/skyrim/mods/55869/?), but it have a problem, it tends to increase the size of the breasts (at least) and cause clipping in some clothes (Tera Armor colection HDT ptached) even when only one mod is governing the breast node (SoulGem Oven II) and with the max size being 1:00 (the original size). I hope this mode can really works and don't have this failure.

Link to comment

There is something like this already made (http://www.nexusmods.com/skyrim/mods/55869/?), but it have a problem, it tends to increase the size of the breasts (at least) and cause clipping in some clothes (Tera Armor colection HDT ptached) even when only one mod is governing the breast node (SoulGem Oven II) and with the max size being 1:00 (the original size). I hope this mode can really works and don't have this failure.

 

HookImmerse is a horrible hack. If you're using it, you should stop, but your saves are probably poisoned by it.

 

THIS mod appears to be working. Some minor things getting ironed out, but still appears to be working.

Link to comment

Unrelated, there'll probably be another revision tonight, I want to change something on additive before anyone gets too serious with that mode as I realized a few days ago there's something I definitely need to change. Since right now four mods trying to get to a scale of 1.2 will result in a scale of 4.8 which is not quite what anyone would be expecting.

Link to comment

Feliks,

Just FYI.

For shits and gigles I dropped CANS into an existing save with 5 "Immersive Wenches" wearing auto-milking cuirasses from MME and also having SGO milk.

 

Just dropped CANS in and started milking.

It APPEARS as though CANS simply "took over" node management with no ill effects. Breasts shrink and grow as without CANS but now I can have both MME and SGO scaling breasts. Still a little early to tell for sure, but at least for those 2 mods it appears you can drop CANS in and let it do its thing. :)

 

Maybe not recommended..... but then.... I was always the first kid on the block to come out with a screwdriver whenever anybody came home with a new toy. 

 

:D

 

Link to comment

Feliks,

Just FYI.

For shits and gigles I dropped CANS into an existing save with 5 "Immersive Wenches" wearing auto-milking cuirasses from MME and also having SGO milk.

 

Just dropped CANS in and started milking.

It APPEARS as though CANS simply "took over" node management with no ill effects. Breasts shrink and grow as without CANS but now I can have both MME and SGO scaling breasts. Still a little early to tell for sure, but at least for those 2 mods it appears you can drop CANS in and let it do its thing. :)

 

Maybe not recommended..... but then.... I was always the first kid on the block to come out with a screwdriver whenever anybody came home with a new toy. 

 

:D

 

The issue I was expecting was that CANS doesn't do any cleanup when it gets installed, so if you're at a 1.5 scale from whatever mod when CANS get's installed you'll just start using that as the base line since nothing is touching that value anymore.

Link to comment

When I cast SGO's Ultrasound with extra information (shows base size and current size) it's showing base as 1 for both belly and breast. I haven't got belly scaling turned on anywhere yet as I'm focused on boobs right now. :)

 

When I check MME's MCM and Debug Milk Maid, it shows base size as 1 and shows current size as a number I would expect.

 

So unless CANS is disguising those base numbers.... and I believe it would have to do so through the respective mod's spell effect.... then the numbers appear to be correct. Visually, I think it looks ok but in order to be sure I'm going to have to start over, get the same NPCs involved and visually check what their base size actually looks like.

 

I understand what you're saying though. And I'm not suggesting anyone actually do this on a play-through that's important to them, but preliminarily it looks pretty good.

Link to comment

with 0.9.1.1 still getting node popping on breasts when she's being milked and removing SGO milk and MME milk in same feeding. I'm going to try using something other than "largest value wins" and see if it does something different when calculating/adjusting node.

 

It's almost like it's removing the current node value (drops to base size) then applies requested node size (from either SGO or MME... whatever one is requesting the change) and then goes to the larger of whichever of those was last requested. 

Link to comment

more testing using different methods of calculation...

 

I've pretty much determined it's not the math, but the method being used to change nodes size.

 

there are too many changes to node size when a size change is requested. Breast gets small, then larger, then larger still. There are like 3 size changes for each request. When 2 mods are requesting changes within seconds (or less) of each other, the breast is nearly constantly going up and down in size. The APPEARANCE is then still like you have 2 mods fighting over who controls the node.

 

It's not smooth.

 

To me.... and I'm not a scripter... it LOOKS like the node is scaling to the result of each step of a calculation process. Instead of being like.... what is the current node scale?... what is the request?.... calculate the request against the current scale... apply.

Link to comment

Hrm. I'm gonna dig through the code (I'd have done something earlier but I basically spent all day fighting with my computer to install Windows 10, now I'm trying to disable the data logging and telemtry bits from it. Believe it or not, Cortana is being incredibly helpful there. Also, as a Halo nerd that might be my new favorite thing, so I'll let microsoft track that).

 

It really shouldn't be doing that. I think there must be a catch with the removing and reapplying commands, or maybe it's got something to do with the first person check... Does it appear to pop on other NPC's? or only the player?

Link to comment

Hrm. I'm gonna dig through the code (I'd have done something earlier but I basically spent all day fighting with my computer to install Windows 10, now I'm trying to disable the data logging and telemtry bits from it. Believe it or not, Cortana is being incredibly helpful there. Also, as a Halo nerd that might be my new favorite thing, so I'll let microsoft track that).

 

It really shouldn't be doing that. I think there must be a catch with the removing and reapplying commands, or maybe it's got something to do with the first person check... Does it appear to pop on other NPC's? or only the player?

 

Popping is on all NPCs. Doesn't matter 1st person or 3rd person.

 

This happens when .....  there has to be at least 2 mods requesting node changes . If you fast travel a fair distance, or if you press the "Wait" key, they both want to update. OR if you're testing by milking and both mods have milk available, as it depletes..... popping.

 

Are you removing and reapplying for each mod trying to scale the node? That night explain what I'm seeing.

 

MME wants a node change..... remove (breast changes size).... apply (breast changes size again)

while that's happening a request comes in from SGO that it also wants a node change.... remove (breast changes size)... apply (another size change)

 

If there is no MME milk available and she's only being milked of SGO milk, I ..... dammit now I'm forgetting shit.... but I think if only one mod is actively trying to change the node, it doesn't pop. I'll go in and check again. 

Link to comment

OK, this might be an important question...or 2...

 

How do I see what mods are registered with CANS?

 

What about load order? Does CANS have to load BEFORE the mods that are trying to register with it? 

 

I'm going to try a couple of different things in MO to see if maybe it's the way I have things set up that are making me see this "popping" of the node.

 

 

 

 

Link to comment

This may be an ongoing concern with two or more mods that check for elapsed time after fast travel or sleeping so consider this:

 

Instead of scaling the breasts (or other nodes) right away when requested, wait a second or two for other requests to also be made and then scale them once.

 

Add a function that merely pauses a bit and then checks to see what the current size is vs the new size and if they are different goes ahead and changes the size. If the size is the same then some other instance of the call already made the change or the changes all balanced each other and therefore no change has to be made.

 

That way the mods all have time to register their changes before they are applied instead of having the "Amazing growing/shrinking" boobs.

 

Also the time for the pause can be made into a MCM selectable timeframe so people with really laggy computers can set it longer.

 

Incidentally, all the variables that get changed when a mod makes a request ought to be controlled via a locking mechanism so you don't have multiple threads modding those variables at the same time. Otherwise you're going to have the occasional "odd" bug when two requests clash.

Link to comment

This may be an ongoing concern with two or more mods that check for elapsed time after fast travel or sleeping so consider this:

 

Instead of scaling the breasts right away when requested, wait a second or two for other requests to also be made and then scale them once.

 

Add a function that merely pauses a bit and then checks to see what the current size is vs the new size and if they are different goes ahead and changes the size.

 

That way the mods all have time to register their changes before they are applied instead of having the "Amazing growing/shrinking" boobs.

 

Also the time for the pause can be made into a MCM selectable timeframe so people with really laggy computers can set it longer.

 

Not just after fast travel though. I can only use my milking activities as an example here because that's how I'm testing.

 

2 mods scale breasts. SGO and MME. They scale at different rates (rate=increase per increment) and their timing is different for increases. 

 

DECREASES during milking are timed a bit differently as well. My milking script for SGO decreases 1 increment (one milk) every 1 to 3 seconds (random per tick). 

 

Every time either one of them wants a node resize, the breasts go through this .... almost like a reset operation. They drop down in size too far, pop back up to a certain size and then either drop back down in size a little or go up in size a little. I don't know enough about NiOverride to offer technical help but it LOOKS like when you remove a NiOverride and then ADD a niOverride it results in this node popping. Where the THIRD pop comes from is not within my scope of knowledge to even hazard a guess. Part of me is asking why you have to REMOVE a NiOverride to ADD a NiOverride and why you can't just CHANGE a NiOverride. But I'm sure it's not that simple :)

 

I really look forward to this working properly and I hope all my dumbass posts can help in some way to refine the application of the node scaling.

Link to comment

Eh, this may seems foolish since I am not coder, just studied programation language, but it seems that CANS change the sizes based only on requests from the mods, right? And this is the concern because they ask changes and confirmations fo the size all the time, am I right? So if you are making patches for each mod, wouldn't it be conviniently that these patches take note of the change requests, and in fact, only ask to update the sizes when needed?

 

For example, Fill Her Up only changes sizes of the belly after orgasms and during and after cum releasing, so, there is no need to keep updating the size of the belly all the time. Its patch could take note of the request and only update in the said situations. For Soulgem Oven, that micro-changes are almost invisible, so its patch should ask to update the size only let's say, each 6 in-game hours (maybe less) and when milking or birthing, in what you would have something to really change. So assuming that the patches are already made case by case, this could be a solution.

 

Sorry if I am talking garbage.

Link to comment

Eh, this may seems foolish since I am not coder, just studied programation language, but it seems that CANS change the sizes based only on requests from the mods, right? And this is the concern because they ask changes and confirmations fo the size all the time, am I right? So if you are making patches for each mod, wouldn't it be conviniently that these patches take note of the change requests, and in fact, only ask to update the sizes when needed?

 

For example, Fill Her Up only changes sizes of the belly after orgasms and during and after cum releasing, so, there is no need to keep updating the size of the belly all the time. Its patch could take note of the request and only update in the said situations. For Soulgem Oven, that micro-changes are almost invisible, so its patch should ask to update the size only let's say, each 6 in-game hours (maybe less) and when milking or birthing, in what you would have something to really change. So assuming that the patches are already made case by case, this could be a solution.

 

Sorry if I am talking garbage.

No such thing as a garbage question. As for many of these mods, they update on event only as a constant check would kill the system even without CANS managing things. Fill Her Up isn't always checking the size, it stores it in a variable that is checked when something forces a change (expel cum/ whatever event passes) or a countdown ends and tells the mod to update the variable. It's the same for every pregnancy mod. Only the update interval changes between them. CANS checks for these events by way of script calls embedded in the events and intercepts the changes before the original mod can apply them and processing them through CANS's own internal logic.

 

Sorry guys for not updating for a little while, I'm a little bogged down with studying for exams right now, so I haven't had a chance to do much with skyrim.

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