Jump to content

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


Recommended Posts

I had a thought pop into my head earlier today, although as a non-coder, there's no guarantee that the thought is good.

 

IronRose's Dumb Idea: Could the "popping" issue be fixed by side-stepping the problem completely? Instead of re-sizing the nodes when a mod requests it, maybe CANS could "store" all such requests until one of the following conditions is met:

  • The player changes zones
  • The end of a sex/milking/estruus event
  • Some arbitrary period of real world time passes (10 minutes?)
  • If the target is an NPC, it is farther than 50 feet from the player
  • When in first-person view, CANS re-sizes the player model frequently/normally

The idea would be to re-size the characters when other game stuff is happening, or when the player expects the game to be fucking around with things anyway. I find the "popping" most distracting when nothing else interesting is happening in the game. But if my character is flailing/dressing/staggering at the end of sex, or if I'm stepping into a building or fast traveling, and the nodes quickly re-size, it wouldn't be as distracting because other stuff is going on.

 

Like I said, I'm not coder/modder, so this might be a dumb idea. Take it with a block of salt.  ^_^

Link to comment

That could work I'm just trying to figure out where the popping is actually coming from. I'm working on a few potential fixes but until I can pin down the source of the issue I'm not too sure of what to do.

Link to comment

One of the mods that was being tested with C.A.N.S. had a really high update rate, Mana Tanks I think it was, which would have a bit of an issue with that delay method. Of course, should someone want to use that mod, then the delay method might be better as a select-able option that is default on, or configurable as to what triggers the update. A few other points that mods use for these updates are also when waking up/ending a wait and after midnight/game based timer, or C.A.N.S. could update the visual scale once it has received a certain number of requests/increases/decreases without triggering any of the other potential update events. This method though might want to avoid combat or situations where the player is not in control of the character. I doubt it would cause issues, but this prevents distracting changes from occurring during action based or cinematic moments. I'd vote for the "Collect all the calls, then display it later" method since I don't mind not seeing things change dynamically/rapidly. Another option along this vein would be to have a command/spell/ability/hotkey which forces an update by C.A.N.S. after which it goes back into listening mode till another one of the listed events are triggered or the force update is activate again.

 

Link to comment

One of the mods that was being tested with C.A.N.S. had a really high update rate, Mana Tanks I think it was, which would have a bit of an issue with that delay method. Of course, should someone want to use that mod, then the delay method might be better as a select-able option that is default on, or configurable as to what triggers the update. A few other points that mods use for these updates are also when waking up/ending a wait and after midnight/game based timer, or C.A.N.S. could update the visual scale once it has received a certain number of requests/increases/decreases without triggering any of the other potential update events. This method though might want to avoid combat or situations where the player is not in control of the character. I doubt it would cause issues, but this prevents distracting changes from occurring during action based or cinematic moments. I'd vote for the "Collect all the calls, then display it later" method since I don't mind not seeing things change dynamically/rapidly. Another option along this vein would be to have a command/spell/ability/hotkey which forces an update by C.A.N.S. after which it goes back into listening mode till another one of the listed events are triggered or the force update is activate again.

 

Right now the way the delay works is mods can keep updating the numbers they want but CANS doesn't apply anything to the nodes until the timer's run out.

Link to comment

About the popping: I suspect it's caused by these bits:

isApplied = NiOverride.HasNodeTransformScale(zTarget, False, True, Belly, "C.A.N.S.")
	If isApplied
		NiOverride.RemoveNodeTransformScale(zTarget, False, True, Belly, "C.A.N.S.")
	EndIf 
NiOverride.AddNodeTransformScale(zTarget, False, True, Belly, "C.A.N.S.", eCount)

There's no reason to do this; NiO will automatically overwrite the old value as long as the other arguments are identical.

Link to comment

About the popping: I suspect it's caused by these bits:

isApplied = NiOverride.HasNodeTransformScale(zTarget, False, True, Belly, "C.A.N.S.")
	If isApplied
		NiOverride.RemoveNodeTransformScale(zTarget, False, True, Belly, "C.A.N.S.")
	EndIf 
NiOverride.AddNodeTransformScale(zTarget, False, True, Belly, "C.A.N.S.", eCount)

There's no reason to do this; NiO will automatically overwrite the old value as long as the other arguments are identical.

 

That was the running theory but in the most recent dev build it was still popping with that removed. I'm actually going to attach the latest version here, since I'm engaged in a very thorough re-examination of the code but also having a lot of my time taken up by family being in town for a celebration type thing. This version shouldn't have any serious issues just overwriting the old version.

 

If anyone has the time to test this in a save where an older version of CANS was not already running though and confirm that'd be great.

CANS 0.10.1.0.rar

Link to comment

While not the update you may have been hoping for (since I have not made/obtained any patches to test with anyway), I can still let those interested know that the update to Beeing Female, including it's native support of C.A.N.S. has been set back due to some hardware failure of milzschnitte's computer. It seems he still has a backup of his in-progress update 2.5, but he isn't sure when exactly the backup was made. Regardless of how far he may be set back by this, he still can't continue the update much without his computer to work with, so this update may still be weeks out, at best.

Link to comment
  • 2 weeks later...

So, is it playable now or just a demonstration of possibilities? If i'll use it with the Cum Imflation + Beeing female, will the belly size manages correctly?

 

At the moment, there is no patch/support for Beeing Female, so it wont respond to C.A.N.S. at all and apply it's own size updates. Until that update comes out, or someone makes a patch for Beeing Female to use C.A.N.S., your set-up will not work. The current patches that I know are available are only for Estrus Charus+, Mana Tanks, Soul Gem Oven 2, and Milk Mod Economy. There may be others sprinkled in the thread, but those were the only ones I knew of being worked on.

Link to comment

Since this got bumped I figure I'll chime in with a quick status update: I'm effectively digging through the entirety of CANS_Core.psc (the actual working file) trying to find the source of the popping. I think I know where it's coming from, and should be finished rewriting all of this pretty soon. But RL is a bit hectic right now so I won't waste your time with a deadline I'll probably fail to keep.

Link to comment

 

So, is it playable now or just a demonstration of possibilities? If i'll use it with the Cum Imflation + Beeing female, will the belly size manages correctly?

 

At the moment, there is no patch/support for Beeing Female, so it wont respond to C.A.N.S. at all and apply it's own size updates. Until that update comes out, or someone makes a patch for Beeing Female to use C.A.N.S., your set-up will not work. The current patches that I know are available are only for Estrus Charus+, Mana Tanks, Soul Gem Oven 2, and Milk Mod Economy. There may be others sprinkled in the thread, but those were the only ones I knew of being worked on.

 

 

Estrus Charus+, Soul Gem Oven 2 patches, did I miss these being posted here or are they somewhere else? If they are here then I freely admit to being blind :s

Link to comment

Since this got bumped I figure I'll chime in with a quick status update: I'm effectively digging through the entirety of CANS_Core.psc (the actual working file) trying to find the source of the popping. I think I know where it's coming from, and should be finished rewriting all of this pretty soon. But RL is a bit hectic right now so I won't waste your time with a deadline I'll probably fail to keep.

 

Thanks for the update! I agree that although I'm dying to have CANS working, I'd rather hear "it will be done when it's done" than to hear a release date that we all know isn't going to happen.

 

BTW, if there's any help that you need, whether it's brainstorming by non-coders like me, or troubleshooting by other mod developers, please ask! It's your baby, but I think we're all excited by the possibilities of a unified framework, and will do what we can to help you make it a reality.

Link to comment

 

 

So, is it playable now or just a demonstration of possibilities? If i'll use it with the Cum Imflation + Beeing female, will the belly size manages correctly?

 

At the moment, there is no patch/support for Beeing Female, so it wont respond to C.A.N.S. at all and apply it's own size updates. Until that update comes out, or someone makes a patch for Beeing Female to use C.A.N.S., your set-up will not work. The current patches that I know are available are only for Estrus Charus+, Mana Tanks, Soul Gem Oven 2, and Milk Mod Economy. There may be others sprinkled in the thread, but those were the only ones I knew of being worked on.

 

 

Estrus Charus+, Soul Gem Oven 2 patches, did I miss these being posted here or are they somewhere else? If they are here then I freely admit to being blind :s

 

 

I'd like to say they were hiding in plain sight, but they were part of a patch package which TechBaNe had posted all the way back on page 6 (No, not the first one, the second one. ;) ) Here is the post in question. Just remember that the following couple of pages also have various updates, plus they were made several versions of C.A.N.S. ago, with other users such as chajapa making updates to their personal copies along the way for testing the updates to the mod. How functional this pack actually is I am not sure, but the post when it was released was back at the end of July. I'd say only use it for your own testing purposes and not treat it as a fully functioning addition to your game.

 

Link to comment

 

 

 

 

 

 

So, is it playable now or just a demonstration of possibilities? If i'll use it with the Cum Imflation + Beeing female, will the belly size manages correctly?

 

At the moment, there is no patch/support for Beeing Female, so it wont respond to C.A.N.S. at all and apply it's own size updates. Until that update comes out, or someone makes a patch for Beeing Female to use C.A.N.S., your set-up will not work. The current patches that I know are available are only for Estrus Charus+, Mana Tanks, Soul Gem Oven 2, and Milk Mod Economy. There may be others sprinkled in the thread, but those were the only ones I knew of being worked on.

 

 

Estrus Charus+, Soul Gem Oven 2 patches, did I miss these being posted here or are they somewhere else? If they are here then I freely admit to being blind :s

 

 

 

 

I'd like to say they were hiding in plain sight, but they were part of a patch package which TechBaNe had posted all the way back on page 6 (No, not the first one, the second one. ;) ) Here is the post in question. Just remember that the following couple of pages also have various updates, plus they were made several versions of C.A.N.S. ago, with other users such as chajapa making updates to their personal copies along the way for testing the updates to the mod. How functional this pack actually is I am not sure, but the post when it was released was back at the end of July. I'd say only use it for your own testing purposes and not treat it as a fully functioning addition to your game.
 

 

 

Ahh right, think I may hold off then for now, take a wait and see approach at present then.
 

Link to comment

Yo yo yo, CANS 0.12 is up. You may notice a fairly large version gap, do not fear. I went through a lot, and I mean a lot alpha builds. Like, the last 0.11 was 0.11.23.5 lot. Anyways: This new version introduces two large fixes I actually haven't had a chance to test myself but feel comfortable with. 

 

One for the popping and one for the MCM not displaying. Anyone willing to test it, please use a clean save. And I mean clea, disable it, save without it, run a script cleaner. You can filter for anything that starts with "CANS_" and terminate any active threads/scripts/whatever your chosen cleaner says.

 

As long as this is working the implementation as you see it (plus a few things in the MCM) is v 1.0. 

Link to comment

Why the number so low? Dont this mod work already? Is it só far from conclusion?

 

Also could you incude the already made patches in the download folder?

 

Low? Objectively I guess, but version numbers aren't decimal numbers. 0.12 > 0.10 > 0.9.

 

It's sequential numbering, not actual counting with a bunch of decimal places. It's 0.12 because there have been 12 "Minor" versions (as long as we consider the first non-beta release to be 1.0, the first major version). It's almost done.

 

I could provide any patches others have provided in the download section, but I'd like to guarantee they'll function as advertised first (besides some in game testing I honestly didn't dig too much outside of trying to shoot down some compiler errors, which you already know provided you read the OP and got the patches TechBane so graciously provided for us.)

Link to comment

I thought that in any project which use numbers below 1, the second number (after the first point) represents the percentage of completion, being the third number tries and hotfixes. And since the project is already working and will not have many fancy things it should be almost ready so a higher number like 0.7.XX or 0.70.XX, so when i saw num 0.12, I thought it is completelly at the begining witha  little more than 10% completed, and they couldn't even make it work.

Link to comment

Looking through the thread again, I guess this is all irrelevant now since you've switched it to using an item. Is there an example anywhere of getting a mod working with the new method?

 

Unless there is a specific reason you haven't, I think it would be useful to add the magic effect and spell as properties to the framework script. That way other mods would only have to get the framework to get access to everything they need.

 

Also, I can't seem to get a call to the RegisterMyMod function to work. It gets into the function, but the following line fails:

( CANS_Frames[aCount] as CANS_Core ).RegisterMod(ModName, zTarget)

 

It says it is because CANS_Frames[aCount] is a None object, and as far as I can tell, it is a None object. The only place any entry in CANS_Frames is set is inside the Initialize function in CANS_Core called by the RegisterMod function. So, I can't see how it can ever not be None. What am I missing?

Link to comment

Looking through the thread again, I guess this is all irrelevant now since you've switched it to using an item. Is there an example anywhere of getting a mod working with the new method?

 

Unless there is a specific reason you haven't, I think it would be useful to add the magic effect and spell as properties to the framework script. That way other mods would only have to get the framework to get access to everything they need.

 

Also, I can't seem to get a call to the RegisterMyMod function to work. It gets into the function, but the following line fails:

( CANS_Frames[aCount] as CANS_Core ).RegisterMod(ModName, zTarget)

 

It says it is because CANS_Frames[aCount] is a None object, and as far as I can tell, it is a None object. The only place any entry in CANS_Frames is set is inside the Initialize function in CANS_Core called by the RegisterMod function. So, I can't see how it can ever not be None. What am I missing?

 

Actually thank you for pointing this out, there's been a slight modification to how things work in the backend that I need to fix something for. Fun fact though: The magic effect should actually work to get things rolling. All it does is check if the actor has the item and then add it if it isn't. I need to modify that slightly to just check the inventory since it no longer equips and also to make sure it fires the Initialize function on CANS_Core.psc which is where it adds itself to CANS_Frames.

 

Thanks for that. Fixed patch up in hopefully a few hours. If not it will be up some time tomorrow.

Hey, is TechBane still lurking about?

 

It looks like the newest Milk Mod Economy has the CANS stuff in it, but commented out. "Waiting for CANS to be released".

I'm wondering if we can get the MME 2015-09-07 version patched for testing.

 

Not sure but I can take a look at that as soon as I'm convinced this is working as intended.

Link to comment

OK, well I tried it again and still had boobs bigger, smaller, bigger, smaller.....

 

In fairness to all of the work you're putting into this, I'd say at this point you really need to look at the patches for the other mods. It might not be the framework having issues it may be the mods plugging into the framework.

 

The MME version that's patched is from July 25. There have been probably close to 10 revisions to MME since then (the author is very actively developing that mod)

SGO hasn't had any revisions, but the author is working on SGO 3.

 

Why am I telling you this?

 

Because CANS may be the greatest thing to come along since sliced white bread, but without the "cooperation" of other mods, it's going to be tough getting things working.

Right now.... it's still not working right, but... I can't tell if it's the framework or the patched mods.

 

 

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